Skip to content

Commit

Permalink
feat: add last name on names (#15)
Browse files Browse the repository at this point in the history
  • Loading branch information
djaiss authored Jan 3, 2024
1 parent 97ef539 commit 1a24932
Show file tree
Hide file tree
Showing 23 changed files with 223 additions and 403 deletions.
11 changes: 10 additions & 1 deletion app/Http/Controllers/FemaleNameController.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function index(Request $request): View
$namesPagination = Cache::remember('all-names-female-page-' . $requestedPage, 604800, function () {
return Name::where('name', '!=', '_PRENOMS_RARES')
->where('gender', 'female')
->orderBy('name', 'asc')
->orderBy('total', 'desc')
->paginate(40);
});

Expand Down Expand Up @@ -77,11 +77,20 @@ public function letter(Request $request): View
$names = $namesPagination
->map(fn (Name $name) => NameViewModel::summary($name));

if (! auth()->check()) {
$favoritedNamesForLoggedUser = collect();
} else {
$favoritedNamesForLoggedUser = Cache::remember('user-favorites-' . auth()->id(), 604800, function () {
return UserViewModel::favorites();
});
}

return view('names.female.letter', [
'letters' => $letters,
'names' => $names,
'namesPagination' => $namesPagination,
'activeLetter' => Str::ucfirst($requestedLetter),
'favorites' => $favoritedNamesForLoggedUser,
]);
}
}
11 changes: 10 additions & 1 deletion app/Http/Controllers/MaleNameController.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function index(Request $request): View
$namesPagination = Cache::remember('all-names-male-page-' . $requestedPage, 604800, function () {
return Name::where('name', '!=', '_PRENOMS_RARES')
->where('gender', 'male')
->orderBy('name', 'asc')
->orderBy('total', 'desc')
->paginate(40);
});

Expand Down Expand Up @@ -77,11 +77,20 @@ public function letter(Request $request): View
$names = $namesPagination
->map(fn (Name $name) => NameViewModel::summary($name));

if (! auth()->check()) {
$favoritedNamesForLoggedUser = collect();
} else {
$favoritedNamesForLoggedUser = Cache::remember('user-favorites-' . auth()->id(), 604800, function () {
return UserViewModel::favorites();
});
}

return view('names.male.letter', [
'letters' => $letters,
'names' => $names,
'namesPagination' => $namesPagination,
'activeLetter' => Str::ucfirst($requestedLetter),
'favorites' => $favoritedNamesForLoggedUser,
]);
}
}
11 changes: 10 additions & 1 deletion app/Http/Controllers/NameController.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public function index(Request $request): View

$namesPagination = Cache::remember('all-names-page-' . $requestedPage, 604800, function () {
return Name::where('name', '!=', '_PRENOMS_RARES')
->orderBy('name', 'asc')
->orderBy('total', 'desc')
->paginate(40);
});

Expand Down Expand Up @@ -113,11 +113,20 @@ public function letter(Request $request): View
$names = $namesPagination
->map(fn (Name $name) => NameViewModel::summary($name));

if (! auth()->check()) {
$favoritedNamesForLoggedUser = collect();
} else {
$favoritedNamesForLoggedUser = Cache::remember('user-favorites-' . auth()->id(), 604800, function () {
return UserViewModel::favorites();
});
}

return view('names.letter', [
'letters' => $letters,
'names' => $names,
'namesPagination' => $namesPagination,
'activeLetter' => Str::ucfirst($requestedLetter),
'favorites' => $favoritedNamesForLoggedUser,
]);
}
}
26 changes: 12 additions & 14 deletions app/Http/Controllers/ProfileController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

namespace App\Http\Controllers;

use App\Http\Requests\ProfileUpdateRequest;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
Expand All @@ -11,27 +10,18 @@

class ProfileController extends Controller
{
/**
* Display the user's profile form.
*/
public function edit(Request $request): View
public function show(Request $request): View
{
return view('profile.edit', [
return view('user.account', [
'user' => $request->user(),
]);
}

/**
* Update the user's profile information.
* Update the user's password.
*/
public function update(ProfileUpdateRequest $request): RedirectResponse
public function update(Request $request): RedirectResponse
{
$request->user()->fill($request->validated());

if ($request->user()->isDirty('email')) {
$request->user()->email_verified_at = null;
}

$request->user()->save();

return Redirect::route('profile.edit')->with('status', 'profile-updated');
Expand All @@ -57,4 +47,12 @@ public function destroy(Request $request): RedirectResponse

return Redirect::to('/');
}

public function name(Request $request): RedirectResponse
{
auth()->user()->last_name = $request->get('last_name');
auth()->user()->save();

return redirect()->route('profile.show');
}
}
2 changes: 1 addition & 1 deletion resources/views/components/name-items.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class="flex items-center justify-between border border-transparent hover:bg-gray
>
<div class="flex items-center">
<div class="rounded-full w-6 mr-4 ring-4 ring-violet-100">{!! \App\Helpers\NameHelper::getAvatar($name['name']) !!}</div>
<a href="{{ $name['url']['show'] }}" class="text-lg hover:underline">{{ $name['name'] }}</a>
<a href="{{ $name['url']['show'] }}" class="text-lg hover:underline">{{ $name['name'] }} <span x-text="last_name"></span></a>
</div>

@auth
Expand Down
2 changes: 1 addition & 1 deletion resources/views/components/text-input.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

<input {{ $disabled ? 'disabled' : '' }}
{!! $attributes->merge([
'class' => 'flex h-9 w-full rounded-md dark:bg-gray-900 border border-gray-300 dark:border-gray-600 bg-transparent px-3 py-1 shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',
'class' => 'flex h-9 w-full rounded-md dark:bg-gray-900 border border-gray-300 dark:border-gray-600 bg-transparent px-3 py-1 shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 bg-white',
]) !!}>
16 changes: 8 additions & 8 deletions resources/views/home/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@
<div class="grid grid-row-4 sm:grid-cols-4 gap-10">
<!-- male names -->
<div>
<h2 class="font-semibold text-xl mb-4">Prénoms masculins populaires</h2>
<ul class="space-y-4">
<h2 class="font-semibold text-lg mb-4">Prénoms masculins populaires</h2>
<ul class="space-y-4" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($twentyMostPopularNames['male_names'] as $name)
<li>
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
Expand All @@ -78,8 +78,8 @@

<!-- female names -->
<div>
<h2 class="font-semibold text-xl mb-4">Prénoms féminins populaires</h2>
<ul class="space-y-4">
<h2 class="font-semibold text-lg mb-4">Prénoms féminins populaires</h2>
<ul class="space-y-4" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($twentyMostPopularNames['female_names'] as $name)
<li>
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
Expand All @@ -90,8 +90,8 @@

<!-- mixte names -->
<div>
<h2 class="font-semibold text-xl mb-4">Prénoms mixtes populaires</h2>
<ul class="space-y-4">
<h2 class="font-semibold text-lg mb-4">Prénoms mixtes populaires</h2>
<ul class="space-y-4" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($twentyMostPopularNames['mixted_names'] as $name)
<li>
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
Expand All @@ -102,8 +102,8 @@

<!-- random names -->
<div>
<h2 class="font-semibold text-xl mb-4">Prénoms aléatoires</h2>
<ul class="space-y-4">
<h2 class="font-semibold text-lg mb-4">Prénoms aléatoires</h2>
<ul class="space-y-4" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($twentyMostPopularNames['random_names'] as $name)
<li>
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
Expand Down
7 changes: 2 additions & 5 deletions resources/views/layouts/unlogged-navigation.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,10 @@
</x-unlogged-nav-link>

@auth
<x-unlogged-nav-link class="mr-4" hx-boost="true" :href="route('favorite.index')" :active="request()->routeIs('search*')">
<x-unlogged-nav-link class="mr-4" hx-boost="true" :href="route('favorite.index')" :active="request()->routeIs('favorite*')">
{{ __('Vos favoris') }}
</x-unlogged-nav-link>
<x-unlogged-nav-link class="mr-4" hx-boost="true" :href="route('search.index')" :active="request()->routeIs('search*')">
{{ __('Vos listes') }}
</x-unlogged-nav-link>
<x-unlogged-nav-link class="mr-4" hx-boost="true" :href="route('search.index')" :active="request()->routeIs('search*')">
<x-unlogged-nav-link class="mr-4" hx-boost="true" :href="route('profile.show')" :active="request()->routeIs('profile*')">
{{ __('Votre compte') }}
</x-unlogged-nav-link>
@endauth
Expand Down
2 changes: 1 addition & 1 deletion resources/views/names/female/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

<!-- names -->
<h2 class="mb-8 font-bold text-xl text-center">Tous les prénoms féminins</h2>
<div class="grid grid-cols-4 gap-10 gap-y-1 mb-10">
<div class="grid grid-cols-3 gap-10 gap-y-1 mb-10" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($names as $name)
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
@endforeach
Expand Down
2 changes: 1 addition & 1 deletion resources/views/names/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
</div>

<!-- names -->
<div class="grid grid-cols-4 gap-10 gap-y-1 mb-10">
<div class="grid grid-cols-3 gap-10 gap-y-1 mb-10" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($names as $name)
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
@endforeach
Expand Down
5 changes: 1 addition & 4 deletions resources/views/names/letter.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,7 @@

<div class="grid grid-cols-4 gap-10 gap-y-1 mb-10">
@foreach ($names as $name)
<div class="flex items-center border border-transparent hover:bg-gray-50 hover:border-gray-200 px-2 py-1 rounded-sm">
<div class="rounded-full w-6 mr-4 ring-4 ring-violet-100">{!! $name['avatar'] !!}</div>
<a hx-boost="true" href="{{ $name['url'] }}" class="text-lg">{{ $name['name'] }}</a>
</div>
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
@endforeach
</div>

Expand Down
2 changes: 1 addition & 1 deletion resources/views/names/male/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

<!-- names -->
<h2 class="mb-8 font-bold text-xl text-center">Tous les prénoms masculins</h2>
<div class="grid grid-cols-4 gap-10 gap-y-1 mb-10">
<div class="grid grid-cols-3 gap-10 gap-y-1 mb-10" x-data="{ last_name: '{{ auth()->user()->last_name }}' }">
@foreach ($names as $name)
<x-name-items :name="$name" favorited="{{ $favorites->contains($name['id']) }}" />
@endforeach
Expand Down
26 changes: 0 additions & 26 deletions resources/views/settings/index.blade.php

This file was deleted.

54 changes: 0 additions & 54 deletions resources/views/settings/level/edit.blade.php

This file was deleted.

32 changes: 0 additions & 32 deletions resources/views/settings/level/index.blade.php

This file was deleted.

Loading

0 comments on commit 1a24932

Please sign in to comment.