name('login');
Route::post('/login', [AuthController::class, 'login']);
Route::post('/logout', [AuthController::class, 'logout'])->name('logout');
Route::get('/register', [AuthController::class, 'showRegisterForm'])->name('register');
Route::post('/register', [AuthController::class, 'register']);
// Tampilan Login & Register
Route::view('/login', 'auth.login');
Route::view('/register', 'auth.register');
// Halaman Utama
Route::get('/', [ProductController::class, 'index'])->name('home');
Route::view('/home', 'frontend.home');
// Halaman Produk
Route::get('/product/{id}', [ProductController::class, 'show'])->name('product.show');
Route::view('/product/{id}', 'frontend.product');
// Keranjang Belanja
Route::post('/cart/add', [CartController::class, 'add'])->name('cart.add');
Route::get('/cart', [CartController::class, 'view'])->name('cart.view');
Route::view('/cart', 'frontend.cart');
Route::post('/cart/remove', [CartController::class, 'remove'])->name('cart.remove');
// Checkout & Order
Route::get('/checkout', [OrderController::class, 'checkout'])->name('checkout');
Route::view('/checkout', 'frontend.checkout');
Route::post('/order/place', [OrderController::class, 'placeOrder'])->name('order.place');
// Admin Panel
Route::middleware(['auth', 'admin'])->group(function () {
Route::get('/admin', [AdminController::class, 'index'])->name('admin.dashboard');
Route::resource('/admin/products', ProductController::class);
Route::resource('/admin/orders', OrderController::class);
Route::get('/admin/dashboard', [DashboardController::class, 'index'])->name('admin.dashboard');
});
// Tampilan Frontend
Route::view('/home', 'frontend.home');
Route::view('/product/{id}', 'frontend.product');
Route::view('/cart', 'frontend.cart');
Route::view('/checkout', 'frontend.checkout');
// Tampilan Blade dengan Bootstrap
Route::view('/admin/dashboard', 'admin.dashboard');
Route::view('/admin/products', 'admin.products');
Route::view('/admin/orders', 'admin.orders');
// Controller Placeholder
Route::get('/admin/products', [ProductController::class, 'index'])->name('admin.products.index');
Route::get('/admin/orders', [OrderController::class, 'index'])->name('admin.orders.index');
// Controllers Implementasi
Route::get('/products', [ProductController::class, 'index'])->name('products.index');
Route::get('/products/{id}', [ProductController::class, 'show'])->name('products.show');
Route::post('/cart/add/{id}', [CartController::class, 'add'])->name('cart.add');
Route::get('/cart', [CartController::class, 'view'])->name('cart.view');
Route::post('/checkout', [OrderController::class, 'checkout'])->name('checkout.process');
Route::get('/admin/orders', [OrderController::class, 'index'])->name('admin.orders.index');
Route::get('/admin/products', [ProductController::class, 'index'])->name('admin.products.index');
Route::post('/admin/products/store', [ProductController::class, 'store'])->name('admin.products.store');
Route::get('/admin/products/edit/{id}', [ProductController::class, 'edit'])->name('admin.products.edit');
Route::post('/admin/products/update/{id}', [ProductController::class, 'update'])->name('admin.products.update');
Route::post('/admin/products/delete/{id}', [ProductController::class, 'destroy'])->name('admin.products.delete');
// Dashboard Admin
Route::get('/admin/dashboard', [DashboardController::class, 'index'])->name('admin.dashboard');
Route::get('/admin/orders', [OrderController::class, 'index'])->name('admin.orders');
Route::get('/admin/products', [ProductController::class, 'index'])->name('admin.products');
Route::post('/admin/orders/update/{id}', [OrderController::class, 'updateStatus'])->name('admin.orders.update');
Route::post('/admin/orders/delete/{id}', [OrderController::class, 'destroy'])->name('admin.orders.delete');