17 - Share scenario as Inertia shared data

This commit is contained in:
myrmidex 2026-03-22 01:00:39 +01:00
parent ac3e6d2ff9
commit a7f9799391
2 changed files with 14 additions and 0 deletions

View file

@ -2,6 +2,8 @@
namespace App\Http\Middleware;
use App\Http\Resources\ScenarioResource;
use App\Models\Scenario;
use Illuminate\Foundation\Inspiring;
use Illuminate\Http\Request;
use Inertia\Middleware;
@ -46,6 +48,7 @@ public function share(Request $request): array
'user' => $request->user(),
],
'sidebarOpen' => ! $request->hasCookie('sidebar_state') || $request->cookie('sidebar_state') === 'true',
'scenario' => fn () => ($scenario = Scenario::first()) ? new ScenarioResource($scenario) : null,
];
}
}

View file

@ -22,10 +22,21 @@ export interface NavItem {
isActive?: boolean;
}
export interface Scenario {
id: string;
name: string;
description: string | null;
distribution_mode: 'even' | 'priority';
distribution_mode_label: string;
created_at: string;
updated_at: string;
}
export interface SharedData {
name: string;
quote: { message: string; author: string };
auth: Auth;
scenario: Scenario | null;
sidebarOpen: boolean;
[key: string]: unknown;
}