name('home'); // Games (public) Route::get('/games', [GameController::class, 'index'])->name('games.index'); Route::get('/games/search', [GameController::class, 'search'])->name('games.search'); Route::get('/top-rated', [GameController::class, 'topRated'])->name('games.top-rated'); Route::get('/new-releases', [GameController::class, 'newReleases'])->name('games.new-releases'); Route::get('/games/{game:slug}', [GameController::class, 'show'])->name('games.show'); // User profiles (public) Route::get('/users/{user:username}', [UserController::class, 'show'])->name('users.show'); Route::get('/users/{user:username}/library', [UserController::class, 'library'])->name('users.library'); // Compare (auth required) Route::middleware('auth')->group(function () { Route::get('/users/{user:username}/compare', [CompareController::class, 'show'])->name('users.compare'); }); // Library (auth required) Route::middleware('auth')->group(function () { Route::post('/library', [LibraryController::class, 'store'])->name('library.store'); Route::put('/library/{userGame}', [LibraryController::class, 'update'])->name('library.update'); Route::delete('/library/{userGame}', [LibraryController::class, 'destroy'])->name('library.destroy'); }); // Reviews (auth required) Route::middleware('auth')->group(function () { Route::post('/games/{game:slug}/reviews', [\App\Http\Controllers\ReviewController::class, 'store'])->name('reviews.store'); Route::put('/reviews/{review}', [\App\Http\Controllers\ReviewController::class, 'update'])->name('reviews.update'); Route::delete('/reviews/{review}', [\App\Http\Controllers\ReviewController::class, 'destroy'])->name('reviews.destroy'); }); // Comments (auth required) Route::middleware('auth')->group(function () { Route::post('/games/{game:slug}/comments', [GameCommentController::class, 'store'])->name('games.comments.store'); Route::delete('/comments/{comment}', [GameCommentController::class, 'destroy'])->name('comments.destroy'); }); // Lists 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}', [\App\Http\Controllers\ListController::class, 'show'])->name('lists.show'); Route::delete('/lists/{list}', [\App\Http\Controllers\ListController::class, 'destroy'])->name('lists.destroy')->middleware('auth'); Route::post('/lists/{list}/games', [\App\Http\Controllers\ListController::class, 'addGame'])->name('lists.add-game')->middleware('auth'); Route::delete('/lists/{list}/games/{game}', [\App\Http\Controllers\ListController::class, 'removeGame'])->name('lists.remove-game')->middleware('auth'); // Follow system Route::middleware('auth')->group(function () { Route::post('/users/{user:username}/follow', [\App\Http\Controllers\FollowController::class, 'store'])->name('users.follow'); Route::delete('/users/{user:username}/follow', [\App\Http\Controllers\FollowController::class, 'destroy'])->name('users.unfollow'); }); // Activity feed Route::get('/activity', [\App\Http\Controllers\ActivityController::class, 'index'])->name('activity.index')->middleware('auth'); Route::get('/activity/global', [\App\Http\Controllers\ActivityController::class, 'global'])->name('activity.global'); // Notifications Route::middleware('auth')->group(function () { Route::get('/notifications', [\App\Http\Controllers\NotificationController::class, 'index'])->name('notifications.index'); Route::post('/notifications/{notification}/read', [\App\Http\Controllers\NotificationController::class, 'markRead'])->name('notifications.read'); }); // Sitemap Route::get('/sitemap.xml', function () { $path = public_path('sitemap.xml'); if (!file_exists($path)) { abort(404); } return response()->file($path, ['Content-Type' => 'application/xml']); })->name('sitemap'); // Dashboard (Breeze default, keep for now) Route::get('/dashboard', function () { return redirect()->route('home'); })->middleware(['auth', 'verified'])->name('dashboard'); // Profile (Breeze) Route::middleware('auth')->group(function () { Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); }); require __DIR__.'/auth.php';