name('home'); Route::get('/djs', [DjController::class, 'index'])->name('djs.index'); Route::get('/dj/{djProfile:slug}', [DjController::class, 'show'])->name('djs.show'); Route::middleware('guest')->group(function () { Route::get('/login', [AuthenticatedSessionController::class, 'create'])->name('login'); Route::post('/login', [AuthenticatedSessionController::class, 'store']); Route::get('/register', [RegisteredUserController::class, 'create'])->name('register'); Route::post('/register', [RegisteredUserController::class, 'store']); Route::get('/forgot-password', [PasswordResetLinkController::class, 'create'])->name('password.request'); Route::post('/forgot-password', [PasswordResetLinkController::class, 'store'])->name('password.email'); Route::get('/reset-password/{token}', [NewPasswordController::class, 'create'])->name('password.reset'); Route::post('/reset-password', [NewPasswordController::class, 'store'])->name('password.store'); }); Route::middleware('auth')->group(function () { Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])->name('logout'); Route::post('/dj/{djProfile}/enquire', [EnquiryController::class, 'store'])->name('enquiries.store'); Route::post('/bookings/{booking}/reviews', [ReviewController::class, 'store'])->name('reviews.store'); Route::get('/dashboard', AccountDashboardController::class)->name('dashboard'); Route::get('/account/enquiries', [AccountPageController::class, 'enquiries'])->name('account.enquiries'); Route::get('/account/bookings', [AccountPageController::class, 'bookings'])->name('account.bookings'); Route::get('/account/profile', [AccountPageController::class, 'profile'])->name('account.profile'); Route::patch('/account/profile', [AccountPageController::class, 'updateProfile'])->name('account.profile.update'); }); Route::middleware(['auth', 'role:admin|super-admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/', DashboardController::class)->name('dashboard'); Route::get('/{section}', SectionController::class)->name('section'); Route::patch('/users/{user}/role', [AdminActionController::class, 'userRole'])->name('users.role'); Route::patch('/djs/{djProfile}/published', [AdminActionController::class, 'toggleDjPublished'])->name('djs.published'); Route::patch('/djs/{djProfile}/featured', [AdminActionController::class, 'toggleDjFeatured'])->name('djs.featured'); Route::patch('/reviews/{review}/status', [AdminActionController::class, 'reviewStatus'])->name('reviews.status'); Route::post('/settings/clear-cache', [AdminActionController::class, 'clearCaches'])->name('settings.clear-cache'); }); Route::view('/privacy', 'legal.privacy')->name('privacy'); Route::view('/cookies', 'legal.cookies')->name('cookies'); Route::view('/terms', 'legal.terms')->name('terms');