parfum/routes/web.php
Yoga Pangestu cdc50218e8 feat(register): impementasi module register
-mematikan refresh true vite
-menambahkan kolom email_verified_at user
2025-10-01 16:03:56 +07:00

119 lines
4.8 KiB
PHP

<?php
use App\Livewire\Auth\Login;
use App\Livewire\Auth\Logout;
use App\Livewire\Auth\Register;
use App\Livewire\Studio\Catalog\Brand as BrandComponent;
use App\Livewire\Studio\Catalog\Category as CategoryComponent;
use App\Livewire\Studio\Dashboard\Overview;
use App\Livewire\Studio\Loyalty\Customer as CustomerComponent;
use App\Livewire\Studio\Loyalty\Tier as TierComponent;
use App\Livewire\Studio\Loyalty\Voucher\Create as VoucherCreate;
use App\Livewire\Studio\Loyalty\Voucher\Edit as VoucherEdit;
use App\Livewire\Studio\Loyalty\Voucher\Index as VoucherIndex;
use App\Livewire\Studio\Master\Outlet\Create as OutletCreate;
use App\Livewire\Studio\Master\Outlet\Edit as OutletEdit;
use App\Livewire\Studio\Master\Outlet\Index as OutletIndex;
use App\Livewire\Studio\Master\User\Create as UserCreate;
use App\Livewire\Studio\Master\User\Edit as UserEdit;
use App\Livewire\Studio\Master\User\Index as UserIndex;
use Illuminate\Foundation\Auth\EmailVerificationRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
require __DIR__.'/customer.php';
Route::get('/', function () {
return view('welcome');
})->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');
});
});