diff --git a/routes/pages/auth.php b/routes/pages/auth.php new file mode 100644 index 0000000..c92ef97 --- /dev/null +++ b/routes/pages/auth.php @@ -0,0 +1,33 @@ +prefix('auth') + ->group(function () { + Route::get('login', LoginComponent::class)->name('login'); + Route::get('register', RegisterComponent::class)->name('register'); + }); + +Route::post('logout', LogoutComponent::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'); diff --git a/routes/customer.php b/routes/pages/customer.php similarity index 88% rename from routes/customer.php rename to routes/pages/customer.php index 1a18bd8..6fa1c1b 100644 --- a/routes/customer.php +++ b/routes/pages/customer.php @@ -7,7 +7,7 @@ ->prefix('customer') ->group(function () { Route::prefix('dashboard') - ->as('customer.dashboard.') + ->name('customer.dashboard.') ->group(function () { Route::get('overview', Overview::class)->name('overview'); }); diff --git a/routes/pages/studio.php b/routes/pages/studio.php new file mode 100644 index 0000000..be48dc0 --- /dev/null +++ b/routes/pages/studio.php @@ -0,0 +1,111 @@ +prefix('studio') + ->group(function () { + Route::prefix('dashboard') + ->name('studio.dashboard.') + ->group(function () { + Route::get('overview', OverviewComponent::class)->name('overview'); + }); + + Route::prefix('master') + ->name('studio.master.') + ->group(function () { + Route::prefix('outlets')->name('outlet.')->group(function () { + Route::get('/', OutletIndex::class)->name('index'); + Route::get('/create', OutletCreate::class)->name('create'); + Route::get('/{outlet}/edit', OutletEdit::class)->name('edit'); + Route::delete('/{outlet}/delete', OutletCreate::class)->name('delete'); + }); + + Route::prefix('users')->name('user.')->group(function () { + Route::get('/', UserIndex::class)->name('index'); + Route::get('/create', UserCreate::class)->name('create'); + Route::get('/{user}/edit', UserEdit::class)->name('edit'); + Route::delete('/{user}/delete', UserCreate::class)->name('delete'); + }); + }); + + Route::prefix('loyalty') + ->name('studio.loyalty.') + ->group(function () { + Route::prefix('tiers')->name('tier.')->group(function () { + Route::get('/', TierComponent::class)->name('index'); + Route::delete('/{tier}/delete', TierComponent::class)->name('delete'); + }); + + Route::prefix('customers')->name('customer.')->group(function () { + Route::get('/', CustomerComponent::class)->name('index'); + Route::delete('/{customer}/delete', CustomerComponent::class)->name('delete'); + }); + + Route::prefix('vouchers')->name('voucher.')->group(function () { + Route::get('/', VoucherIndex::class)->name('index'); + Route::get('/create', VoucherCreate::class)->name('create'); + Route::get('/{voucher}/edit', VoucherEdit::class)->name('edit'); + Route::delete('/{voucher}/delete', VoucherCreate::class)->name('delete'); + }); + }); + + Route::prefix('catalog') + ->name('studio.catalog.') + ->group(function () { + Route::prefix('categories')->name('category.')->group(function () { + Route::get('/', CategoryComponent::class)->name('index'); + Route::delete('/{category}/delete', CategoryComponent::class)->name('delete'); + }); + + Route::prefix('brands')->name('brand.')->group(function () { + Route::get('/', BrandComponent::class)->name('index'); + Route::delete('/{brand}/delete', BrandComponent::class)->name('delete'); + }); + + Route::prefix('perfumes')->name('perfume.')->group(function () { + Route::get('/', PerfumeIndex::class)->name('index'); + Route::get('/create', PerfumeCreate::class)->name('create'); + Route::get('/{perfume}/edit', PerfumeEdit::class)->name('edit'); + Route::delete('/{perfume}/delete', PerfumeCreate::class)->name('delete'); + }); + + Route::prefix('products')->name('product.')->group(function () { + Route::get('/', ProductIndex::class)->name('index'); + Route::get('/create', ProductCreate::class)->name('create'); + Route::get('/{product}/edit', ProductEdit::class)->name('edit'); + Route::delete('/{product}/delete', ProductCreate::class)->name('delete'); + }); + + Route::prefix('bottles')->name('bottle.')->group(function () { + Route::get('/', BottleIndex::class)->name('index'); + Route::get('/create', BottleCreate::class)->name('create'); + Route::get('/{bottle}/edit', BottleEdit::class)->name('edit'); + Route::get('/{bottle}/delete', BottleCreate::class)->name('delete'); + Route::get('/{bottle}/delete', BottleCreate::class)->name('delete'); + }); + }); + }); diff --git a/routes/web.php b/routes/web.php index dfb3c25..9d9ce65 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,154 +1,11 @@ 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'); - }); - });