119 lines
4.8 KiB
PHP
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');
|
|
});
|
|
});
|