From 0eab3e8dbf96ea4d6c059aed1a0428f36345d525 Mon Sep 17 00:00:00 2001 From: Mark Date: Sun, 31 May 2026 23:35:06 +0300 Subject: [PATCH] Add public community lists browse page Co-Authored-By: Claude Sonnet 4.6 --- app/Http/Controllers/ListController.php | 12 +++++ resources/views/layouts/app.blade.php | 2 + resources/views/lists/community.blade.php | 66 +++++++++++++++++++++++ routes/web.php | 1 + 4 files changed, 81 insertions(+) create mode 100644 resources/views/lists/community.blade.php diff --git a/app/Http/Controllers/ListController.php b/app/Http/Controllers/ListController.php index 1cf491b..53307f6 100644 --- a/app/Http/Controllers/ListController.php +++ b/app/Http/Controllers/ListController.php @@ -10,6 +10,18 @@ use Illuminate\Support\Str; class ListController extends Controller { + public function community() + { + $lists = UserList::where('is_public', true) + ->with('user') + ->withCount('listGames') + ->latest() + ->paginate(24); + + return view('lists.community', compact('lists')); + } + + public function index() { $lists = auth()->user()->lists()->withCount('listGames')->latest()->get(); diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 9e88964..2291771 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -45,6 +45,7 @@ Browse Top Rated New Releases + Lists @auth Activity @endauth @@ -187,6 +188,7 @@ Browse Top Rated New Releases + Lists Developers diff --git a/resources/views/lists/community.blade.php b/resources/views/lists/community.blade.php new file mode 100644 index 0000000..c7d3462 --- /dev/null +++ b/resources/views/lists/community.blade.php @@ -0,0 +1,66 @@ +@extends('layouts.app') +@php use Illuminate\Support\Str; @endphp + +@section('title', 'Community Lists — GameLog') +@section('description', 'Browse public game lists created by the GameLog community.') + +@section('content') +
+ +
+
+

Community Lists

+

Public game lists from GameLog members

+
+ @auth + + My Lists + + @endauth +
+ + @if($lists->isEmpty()) +
+ + + +

No public lists yet.

+ @guest +

Sign up and create the first one!

+ @endguest +
+ @else + + +
+ {{ $lists->links() }} +
+ @endif + +
+@endsection diff --git a/routes/web.php b/routes/web.php index 57c03eb..2e0161a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -49,6 +49,7 @@ Route::middleware('auth')->group(function () { }); // Lists +Route::get('/community/lists', [\App\Http\Controllers\ListController::class, 'community'])->name('lists.community'); Route::get('/lists', [\App\Http\Controllers\ListController::class, 'index'])->name('lists.index')->middleware('auth'); Route::post('/lists', [\App\Http\Controllers\ListController::class, 'store'])->name('lists.store')->middleware('auth'); Route::get('/lists/{list:slug}', [\App\Http\Controllers\ListController::class, 'show'])->name('lists.show');