21 lines
697 B
PHP
21 lines
697 B
PHP
<?php
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// Named dashboard route so route('dashboard') resolves; Vue Router handles rendering
|
|
Route::get('/dashboard', fn () => view('app'))->middleware(['auth', 'verified'])->name('dashboard');
|
|
|
|
// Server-side logout — handles hard navigation to /logout
|
|
Route::get('/logout', function (Request $request) {
|
|
Auth::logout();
|
|
$request->session()->invalidate();
|
|
$request->session()->regenerateToken();
|
|
|
|
return redirect('/');
|
|
})->middleware('auth')->name('logout');
|
|
|
|
// SPA catch-all — must be last
|
|
Route::get('/{any?}', fn () => view('app'))->where('any', '.*')->name('home');
|