middleware(['auth', 'verified'])->name('dashboard'); Route::middleware('auth')->group(function () { // Authenticated profile routes Route::get('/profile', [ProfileController::class, 'show'])->name('profile'); Route::get('/profile/edit', [ProfileController::class, 'edit'])->name('profile.edit'); Route::put('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::get('/profile/reviews', [ProfileController::class, 'reviews'])->name('profile.reviews'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); // Review routes Route::post('/games/{game:slug}/reviews/store', [ReviewController::class, 'store'])->name('games.reviews.store'); Route::get('/games/{game:slug}/reviews/create', [ReviewController::class, 'create'])->name('games.reviews.create'); Route::get('/reviews/{review}', [ReviewController::class, 'show'])->name('reviews.show'); Route::get('/reviews/{review}/edit', [ReviewController::class, 'edit'])->name('reviews.edit'); Route::put('/reviews/{review}', [ReviewController::class, 'update'])->name('reviews.update'); Route::delete('/reviews/{review}', [ReviewController::class, 'destroy'])->name('reviews.destroy'); }); // Public profile routes Route::get('/profile/{user:slug}', [ProfileController::class, 'show'])->name('profile.show'); Route::get('/games', [App\Http\Controllers\GameController::class, 'index'])->name('games.index'); Route::get('/games/{game:slug}', [App\Http\Controllers\GameController::class, 'show'])->name('games.show'); // Public review routes Route::get('/games/{game:slug}/reviews', [App\Http\Controllers\ReviewController::class, 'index'])->name('games.reviews.index'); // Game Lists Route::middleware('auth')->group(function () { Route::resource('lists', GameListController::class); Route::post('lists/{list}/games', [GameListController::class, 'addGame'])->name('lists.addGame'); Route::delete('lists/{list}/games/{game}', [GameListController::class, 'removeGame'])->name('lists.removeGame'); }); // Forum Routes Route::prefix('forum')->name('forum.')->group(function () { // Public forum routes Route::get('/', [ForumCategoryController::class, 'index'])->name('index'); Route::get('/categories/{category}', [ForumCategoryController::class, 'show'])->name('categories.show'); Route::get('/threads/{thread}', [ForumThreadController::class, 'show'])->name('threads.show'); Route::get('/topics/{topic}', [ForumTopicController::class, 'show'])->name('topics.show'); // Authenticated forum routes Route::middleware('auth')->group(function () { // Categories (admin only in a real app) Route::get('/categories/create', [ForumCategoryController::class, 'create'])->name('categories.create'); Route::post('/categories', [ForumCategoryController::class, 'store'])->name('categories.store'); Route::get('/categories/{category}/edit', [ForumCategoryController::class, 'edit'])->name('categories.edit'); Route::put('/categories/{category}', [ForumCategoryController::class, 'update'])->name('categories.update'); Route::delete('/categories/{category}', [ForumCategoryController::class, 'destroy'])->name('categories.destroy'); // Threads Route::get('/threads/create', [ForumThreadController::class, 'create'])->name('threads.create'); Route::post('/threads', [ForumThreadController::class, 'store'])->name('threads.store'); Route::get('/threads/{thread}/edit', [ForumThreadController::class, 'edit'])->name('threads.edit'); Route::put('/threads/{thread}', [ForumThreadController::class, 'update'])->name('threads.update'); Route::delete('/threads/{thread}', [ForumThreadController::class, 'destroy'])->name('threads.destroy'); // Topics Route::get('/topics/create', [ForumTopicController::class, 'create'])->name('topics.create'); Route::post('/topics', [ForumTopicController::class, 'store'])->name('topics.store'); Route::get('/topics/{topic}/edit', [ForumTopicController::class, 'edit'])->name('topics.edit'); Route::put('/topics/{topic}', [ForumTopicController::class, 'update'])->name('topics.update'); Route::delete('/topics/{topic}', [ForumTopicController::class, 'destroy'])->name('topics.destroy'); // Posts Route::get('/posts/create', [ForumPostController::class, 'create'])->name('posts.create'); Route::post('/posts', [ForumPostController::class, 'store'])->name('posts.store'); Route::get('/posts/{post}/edit', [ForumPostController::class, 'edit'])->name('posts.edit'); Route::put('/posts/{post}', [ForumPostController::class, 'update'])->name('posts.update'); Route::delete('/posts/{post}', [ForumPostController::class, 'destroy'])->name('posts.destroy'); }); }); require __DIR__.'/auth.php';