54 lines
2.5 KiB
PHP
54 lines
2.5 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\ProfileController;
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\GameController;
|
|
use App\Http\Controllers\ReviewController;
|
|
use App\Http\Controllers\GameListController;
|
|
|
|
//Route::get('/', function () {
|
|
// return view('landing');
|
|
//});
|
|
|
|
Route::get('/', [HomeController::class, 'index']);
|
|
|
|
Route::get('/dashboard', function () {
|
|
return view('dashboard');
|
|
})->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::get('/games/{game:slug}/reviews/create', [ReviewController::class, 'create'])->name('games.reviews.create');
|
|
Route::post('/games/{game:slug}/reviews', [ReviewController::class, 'store'])->name('games.reviews.store');
|
|
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');
|
|
});
|
|
|
|
require __DIR__.'/auth.php';
|