name('home'); // Auth pages Route::get('/login', function () { return view('auth.login'); })->name('login'); Route::post('/login', function () { // TODO: Implement login logic return redirect()->route('login'); })->name('login.post'); Route::get('/register', function () { return view('auth.register'); })->name('register'); Route::post('/register', function () { // TODO: Implement registration logic return redirect()->route('register'); })->name('register.post'); // Organization CRUD Route::middleware('auth')->group(function () { Route::post('/organizations', [OrganizationController::class, 'store'])->name('organizations.store'); Route::delete('/organizations/{organization}', [OrganizationController::class, 'destroy'])->name('organizations.destroy'); Route::put('/organizations/{organization}/switch', [OrganizationController::class, 'switch'])->name('organizations.switch'); }); // Dashboard (redirects to organizations if user has any, else login) Route::get('/dashboard', function () { if (!auth()->check()) { return redirect()->route('login'); } $user = auth()->user(); if ($user->has_organization && $user->organizations()->exists()) { $org = $user->organizations()->first(); return redirect()->route('organizations.show', $org); } return view('home'); })->name('dashboard'); // Organization management Route::middleware('auth')->group(function () { Route::get('/organizations/{organization}', [OrganizationController::class, 'show'])->name('organizations.show'); }); // Feature pages Route::get('/features/{feature}', function ($feature) { return view('features.show', ['feature' => $feature]); })->name('features');