fedi-feed-router/routes/web.php

41 lines
1.5 KiB
PHP
Raw Normal View History

2026-01-22 21:53:12 +01:00
<?php
use App\Http\Controllers\ProfileController;
use App\Livewire\Articles;
use App\Livewire\Channels;
use App\Livewire\Dashboard;
use App\Livewire\Feeds;
use App\Livewire\Onboarding;
use App\Livewire\Routes;
use App\Livewire\Settings;
2026-01-22 21:53:12 +01:00
use Illuminate\Support\Facades\Route;
// Redirect root to dashboard
2026-01-22 21:53:12 +01:00
Route::get('/', function () {
return redirect()->route('dashboard');
2026-01-22 21:53:12 +01:00
});
// Onboarding routes (protected by auth, but need incomplete onboarding)
Route::middleware(['auth', 'onboarding.incomplete'])->group(function () {
Route::get('/onboarding', Onboarding::class)->name('onboarding');
});
// Main app routes (protected by auth and require completed onboarding)
Route::middleware(['auth', 'onboarding.complete'])->group(function () {
Route::get('/dashboard', Dashboard::class)->name('dashboard');
Route::get('/articles', Articles::class)->name('articles');
Route::get('/feeds', Feeds::class)->name('feeds');
Route::get('/channels', Channels::class)->name('channels');
Route::get('/routes', Routes::class)->name('routes');
Route::get('/settings', Settings::class)->name('settings');
});
2026-01-22 21:53:12 +01:00
// Profile routes (auth protected, no onboarding check needed)
2026-01-22 21:53:12 +01:00
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});
require __DIR__.'/auth.php';