Add reviews, search autocomplete, SEO meta/schema, user lists
- Review system: ReviewController (store/update/destroy), ReviewPolicy, Review model boot() hooks, review form with Alpine.js (spoiler toggle, edit/delete UX) - Search autocomplete: Alpine.js searchWidget in nav with 300ms debounce, keyboard navigation, 6-result dropdown - SEO: og:image, twitter:card in layout; og sections + Schema.org VideoGame JSON-LD on game show pages - Custom lists: UserList/UserListGame models, ListController, ListPolicy, lists index/show views, Add-to-List button on game pages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
93d869cf8c
commit
5c6ba86e15
@@ -44,12 +44,16 @@ class GameController extends Controller
|
||||
{
|
||||
$game->load(['genres', 'platforms', 'companies', 'screenshots', 'reviews.user']);
|
||||
|
||||
$userGame = null;
|
||||
$userGame = null;
|
||||
$userReview = null;
|
||||
$userLists = collect();
|
||||
if (auth()->check()) {
|
||||
$userGame = $game->userGames()->where('user_id', auth()->id())->first();
|
||||
$userGame = $game->userGames()->where('user_id', auth()->id())->first();
|
||||
$userReview = $game->reviews()->where('user_id', auth()->id())->first();
|
||||
$userLists = auth()->user()->lists()->get(['id', 'title']);
|
||||
}
|
||||
|
||||
return view('games.show', compact('game', 'userGame'));
|
||||
return view('games.show', compact('game', 'userGame', 'userReview', 'userLists'));
|
||||
}
|
||||
|
||||
public function search(Request $request)
|
||||
|
||||
Reference in New Issue
Block a user