From 33b69f87babac5116db923b906512411488eb28a Mon Sep 17 00:00:00 2001 From: Developer Date: Sat, 27 Jun 2026 04:05:43 +0200 Subject: feat: add ascending/descending sort direction toggle to cinema Active sort button toggles direction on click, showing ▲ for asc and ▼ for desc. Default direction is desc for all sort options. --- app/Http/Controllers/CinemaController.php | 9 +++++++-- resources/views/cinema.blade.php | 8 ++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/CinemaController.php b/app/Http/Controllers/CinemaController.php index d79d037..8a9bb0e 100644 --- a/app/Http/Controllers/CinemaController.php +++ b/app/Http/Controllers/CinemaController.php @@ -10,10 +10,15 @@ class CinemaController extends Controller public function cinema(Request $request) { $order = $request->input('order', 'ref_count'); + $direction = $request->input('direction', 'desc'); $validOrders = ['ref_count', 'score', 'num_votes', 'num_accolades', 'start_year']; + $validDirections = ['asc', 'desc']; if (! in_array($order, $validOrders)) { $order = 'ref_count'; } + if (! in_array($direction, $validDirections)) { + $direction = 'desc'; + } $refCounts = DB::connection('cinema') ->table('links') @@ -47,7 +52,7 @@ class CinemaController extends Controller ->whereNotNull('imdb.primary_title') ->whereNotNull('imdb.wiki_article') ->where('imdb.title_type', 'movie') - ->orderBy($order, 'desc') + ->orderBy($order, $direction) ->simplePaginate(12); $total = DB::connection('cinema') @@ -57,7 +62,7 @@ class CinemaController extends Controller ->where('title_type', 'movie') ->count(); - return view('cinema', ['movies' => $movies, 'count' => $total, 'order' => $order]); + return view('cinema', ['movies' => $movies, 'count' => $total, 'order' => $order, 'direction' => $direction]); } public function show($id) diff --git a/resources/views/cinema.blade.php b/resources/views/cinema.blade.php index ea2bdeb..eb6b085 100644 --- a/resources/views/cinema.blade.php +++ b/resources/views/cinema.blade.php @@ -124,9 +124,13 @@ html { ['start_year', 'Release Date'], ] as [$key, $label]) @if ( (isset($order) ? $order : 'ref_count') == $key ) - {{ $label }} + @if ( (isset($direction) ? $direction : 'desc') == 'desc' ) + {{ $label }} ▲ + @else + {{ $label }} ▼ + @endif @else - {{ $label }} + {{ $label }} @endif @endforeach -- cgit v1.2.3