From a7f979939141f6d541e483bfed545245204257b2 Mon Sep 17 00:00:00 2001 From: myrmidex Date: Sun, 22 Mar 2026 01:00:39 +0100 Subject: [PATCH] 17 - Share scenario as Inertia shared data --- app/Http/Middleware/HandleInertiaRequests.php | 3 +++ resources/js/types/index.d.ts | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php index bd89013..a1fbd1f 100644 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -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, ]; } } diff --git a/resources/js/types/index.d.ts b/resources/js/types/index.d.ts index 2f10844..92e7aed 100644 --- a/resources/js/types/index.d.ts +++ b/resources/js/types/index.d.ts @@ -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; }