- Dumpsites + Routes: full create forms (boundary point list, click-to-add ordered stops with reorder controls) - Trucks: list + create - Teams: list + create with conflict detection (override checkbox) - Trips: schedule + list + detail panel showing stops + timeline - Partner Stores: list + create + Issue-Inventory action - Reports: tabbed dashboard (daily collection, trip performance, store sales, compliance CSV export) + rebuild aggregations - Sidebar: moves Teams/Trucks/Trips/Stores/Reports out of "Soon", reorganized groups - Admin resources expose db_id alongside public uuid so admin forms can post integer FKs without a separate lookup endpoint 164 tests still passing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
2.3 KiB
PHP
48 lines
2.3 KiB
PHP
<?php
|
||
|
||
use Illuminate\Support\Facades\Route;
|
||
|
||
Route::redirect('/', '/login');
|
||
|
||
Route::view('/login', 'auth.login')->name('login');
|
||
|
||
Route::redirect('/dashboard', '/admin/dashboard');
|
||
|
||
Route::prefix('admin')->group(function () {
|
||
Route::view('/dashboard', 'admin.dashboard')->name('admin.dashboard');
|
||
Route::view('/households', 'admin.households')->name('admin.households');
|
||
Route::view('/service-areas', 'admin.service-areas')->name('admin.service-areas');
|
||
Route::view('/qr-batches', 'admin.qr-batches')->name('admin.qr-batches');
|
||
Route::view('/qr-search', 'admin.qr-search')->name('admin.qr-search');
|
||
Route::view('/drop-off-points', 'admin.drop-off-points')->name('admin.drop-off-points');
|
||
Route::view('/dumpsites', 'admin.dumpsites')->name('admin.dumpsites');
|
||
Route::view('/routes', 'admin.routes')->name('admin.routes');
|
||
Route::view('/users', 'admin.users')->name('admin.users');
|
||
|
||
// New pages from Modules 9–13
|
||
Route::view('/teams', 'admin.teams')->name('admin.teams');
|
||
Route::view('/trucks', 'admin.trucks')->name('admin.trucks');
|
||
Route::view('/trips', 'admin.trips')->name('admin.trips');
|
||
Route::view('/partner-stores', 'admin.partner-stores')->name('admin.partner-stores');
|
||
Route::view('/reports', 'admin.reports')->name('admin.reports');
|
||
|
||
// Stubs that still need backend work
|
||
Route::view('/operations/calendar', 'admin.coming-soon', [
|
||
'title' => 'Trip Calendar', 'description' => 'Drag-to-create week/month calendar — UI work pending.',
|
||
]);
|
||
Route::view('/operations/live', 'admin.coming-soon', [
|
||
'title' => 'Live Tracking', 'module' => 'Module 13 — Reverb live tracking (deferred)',
|
||
'description' => 'Real-time truck positions on a map. Requires Reverb + driver GPS broadcast.',
|
||
]);
|
||
Route::view('/operations/incidents', 'admin.coming-soon', [
|
||
'title' => 'Incidents', 'description' => 'Filtered view of trip incident events — UI work pending.',
|
||
]);
|
||
Route::view('/finance', 'admin.coming-soon', [
|
||
'title' => 'Finance', 'module' => 'Module 13 — PayMongo payments (deferred)',
|
||
'description' => 'Sales, commissions, and payouts. Needs PayMongo integration.',
|
||
]);
|
||
Route::view('/settings', 'admin.coming-soon', [
|
||
'title' => 'Settings', 'description' => 'User roles, notification templates, system config, audit logs.',
|
||
]);
|
||
});
|