name('homepage'); Route::middleware('guest') ->prefix('auth') ->group(function () { Route::get('login', Login::class)->name('login'); Route::get('register', Register::class)->name('register'); }); Route::get('logout', Logout::class)->name('logout')->middleware('auth'); Route::get('/email/verify', function () { return view('auth.verify-email'); })->middleware('auth')->name('verification.notice'); Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) { $request->fulfill(); return redirect('/'); })->middleware(['auth', 'signed'])->name('verification.verify'); Route::post('/email/verification-notification', function (Request $request) { $request->user()->sendEmailVerificationNotification(); return back()->with('message', 'Verification link sent!'); })->middleware(['auth', 'throttle:6,1'])->name('verification.send'); Route::middleware('auth') ->prefix('studio') ->group(function () { Route::prefix('dashboard') ->as('studio.dashboard.') ->group(function () { Route::get('overview', Overview::class)->name('overview'); }); Route::prefix('master') ->as('studio.master.outlet.') ->group(function () { Route::get('outlets', OutletIndex::class)->name('index'); Route::get('outlets/create', OutletCreate::class)->name('create'); Route::get('outlets/{outlet}/edit', OutletEdit::class)->name('edit'); Route::get('outlets/{outlet}/delete', OutletCreate::class)->name('delete'); }); Route::prefix('master') ->as('studio.master.user.') ->group(function () { Route::get('users', UserIndex::class)->name('index'); Route::get('users/create', UserCreate::class)->name('create'); Route::get('users/{user}/edit', UserEdit::class)->name('edit'); Route::get('users/{user}/delete', UserCreate::class)->name('delete'); }); Route::prefix('loyalty') ->as('studio.loyalty.tier.') ->group(function () { Route::get('tiers', TierComponent::class)->name('index'); Route::delete('tiers/{tier}/delete', TierComponent::class)->name('delete'); }); Route::prefix('loyalty') ->as('studio.loyalty.customer.') ->group(function () { Route::get('customers', CustomerComponent::class)->name('index'); Route::delete('customers/{customer}/delete', CustomerComponent::class)->name('delete'); }); Route::prefix('loyalty') ->as('studio.loyalty.voucher.') ->group(function () { Route::get('vouchers', VoucherIndex::class)->name('index'); Route::get('vouchers/create', VoucherCreate::class)->name('create'); Route::get('vouchers/{voucher}/edit', VoucherEdit::class)->name('edit'); Route::get('vouchers/{voucher}/delete', VoucherCreate::class)->name('delete'); }); Route::prefix('catalog') ->as('studio.catalog.category.') ->group(function () { Route::get('categories', CategoryComponent::class)->name('index'); Route::delete('categories/{category}/delete', CategoryComponent::class)->name('delete'); }); Route::prefix('catalog') ->as('studio.catalog.brand.') ->group(function () { Route::get('brands', BrandComponent::class)->name('index'); Route::delete('brands/{brand}/delete', BrandComponent::class)->name('delete'); }); Route::prefix('catalog') ->as('studio.catalog.perfume.') ->group(function () { Route::get('perfumes', PerfumeIndex::class)->name('index'); Route::get('perfumes/create', PerfumeCreate::class)->name('create'); Route::get('perfumes/{perfume}/edit', PerfumeEdit::class)->name('edit'); Route::get('perfumes/{perfume}/delete', PerfumeCreate::class)->name('delete'); }); Route::prefix('catalog') ->as('studio.catalog.product.') ->group(function () { Route::get('products', ProductIndex::class)->name('index'); Route::get('products/create', ProductCreate::class)->name('create'); Route::get('products/{product}/edit', ProductEdit::class)->name('edit'); Route::get('products/{product}/delete', ProductCreate::class)->name('delete'); }); Route::prefix('catalog') ->as('studio.catalog.bottle.') ->group(function () { Route::get('bottles', BottleIndex::class)->name('index'); Route::get('bottles/create', BottleCreate::class)->name('create'); Route::get('bottles/{bottle}/edit', BottleEdit::class)->name('edit'); Route::get('bottles/{bottle}/delete', BottleCreate::class)->name('delete'); }); });