session()->invalidate(); request()->session()->regenerateToken(); return redirect()->route('admin.login'); })->name('logout'); // redirect root ke login admin Route::get('/', function () { return redirect()->route('admin.login'); }); // Admin routes Route::prefix('admin')->name('admin.')->group(function () { // Auth Route::middleware('guest:admin')->group(function () { Route::get('/login', [AdminAuthController::class, 'showLogin'])->name('login'); Route::post('/login', [AdminAuthController::class, 'login'])->name('login.post'); }); Route::middleware('auth:admin')->group(function () { Route::get('/dashboard', function () { return view('admin.dashboard'); })->name('dashboard'); Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout'); // Resource routes Route::resource('kategori', KategoriController::class); // Template routes (index, edit, update) Route::get('/template', [TemplateController::class, 'index'])->name('template.index'); Route::get('/template/{template}/edit', [TemplateController::class, 'edit'])->name('template.edit'); Route::put('/template/{template}', [TemplateController::class, 'update'])->name('template.update'); // Pelanggan routes Route::resource('pelanggan', PelangganController::class)->except(['create', 'edit']); // Ulasan routes Route::resource('reviews', ReviewController::class)->except(['create', 'edit', 'update', 'show', 'store']); }); });