name('home'); Route::middleware('guest')->group(function () { Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login'); Route::post('/login', [LoginController::class, 'login']); Route::get('/register', [RegisterController::class, 'showRegistrationForm'])->name('register'); Route::post('/register', [RegisterController::class, 'register']); Route::get('/forgot-password', [ForgotPasswordController::class, 'create'])->name('password.request'); Route::post('/forgot-password', [ForgotPasswordController::class, 'store'])->name('password.email'); Route::get('/forgot-password/verify', [ResetPasswordController::class, 'create'])->name('password.verify'); Route::post('/reset-password', [ResetPasswordController::class, 'store'])->name('password.update'); }); Route::post('/logout', [LoginController::class, 'logout'])->name('logout')->middleware('auth'); Route::middleware('auth')->group(function () { Route::get('/dashboard', [HomeController::class, 'dashboard'])->name('dashboard'); Route::get('/shop', [ShopController::class, 'index'])->name('shop.index'); Route::post('/cart', [CartController::class, 'store'])->name('cart.store'); Route::get('/cart', [CartController::class, 'index'])->name('cart.index'); Route::put('/cart/{cart}', [CartController::class, 'update'])->name('cart.update'); Route::delete('/cart/{cart}', [CartController::class, 'destroy'])->name('cart.destroy'); Route::get('/checkout', [CheckoutController::class, 'show'])->name('checkout.show'); Route::post('/checkout', [CheckoutController::class, 'process'])->name('checkout.process'); Route::get('/transactions', [TransactionController::class, 'index'])->name('transactions.index'); Route::get('/transactions/{transaction}', [TransactionController::class, 'show'])->name('transactions.show'); Route::get('/recommendation', [RecommendationController::class, 'index'])->name('recommendation.index'); Route::post('/recommendation', [RecommendationController::class, 'result'])->name('recommendation.result'); }); Route::middleware(['auth', 'admin'])->prefix('admin')->name('admin.')->group(function () { Route::get('/', [AdminDashboardController::class, 'index'])->name('dashboard'); Route::resource('products', AdminProductController::class)->except(['show']); Route::resource('criterias', AdminCriteriaController::class)->except(['show']); Route::get('transactions', [AdminTransactionController::class, 'index'])->name('transactions.index'); Route::get('transactions/{transaction}', [AdminTransactionController::class, 'show'])->name('transactions.show'); Route::put('transactions/{transaction}/status', [AdminTransactionController::class, 'updateStatus'])->name('transactions.status'); Route::get('transactions/export', [AdminTransactionController::class, 'export'])->name('transactions.export'); });