diff --git a/app/Http/Controllers/FemaleNameController.php b/app/Http/Controllers/FemaleNameController.php index d749d5a..e8bb2d2 100644 --- a/app/Http/Controllers/FemaleNameController.php +++ b/app/Http/Controllers/FemaleNameController.php @@ -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); }); @@ -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, ]); } } diff --git a/app/Http/Controllers/MaleNameController.php b/app/Http/Controllers/MaleNameController.php index 12b422b..13600ba 100644 --- a/app/Http/Controllers/MaleNameController.php +++ b/app/Http/Controllers/MaleNameController.php @@ -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); }); @@ -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, ]); } } diff --git a/app/Http/Controllers/NameController.php b/app/Http/Controllers/NameController.php index e544dda..721763f 100644 --- a/app/Http/Controllers/NameController.php +++ b/app/Http/Controllers/NameController.php @@ -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); }); @@ -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, ]); } } diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index a48eb8d..f6750e5 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -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; @@ -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'); @@ -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'); + } } diff --git a/resources/views/components/name-items.blade.php b/resources/views/components/name-items.blade.php index 30769a1..737fdd3 100644 --- a/resources/views/components/name-items.blade.php +++ b/resources/views/components/name-items.blade.php @@ -7,7 +7,7 @@ class="flex items-center justify-between border border-transparent hover:bg-gray >