supervisor(); $establishmentFilter = $this->resolveDashboardEstablishmentFilter($request, $supervisor); $establishments = $this->establishmentOptions(); return Inertia::render('Supervisor/Dashboard', [ 'kpis' => $dashboardService->getKpis($supervisor, $establishmentFilter), 'alerts' => $dashboardService->getAlerts($supervisor, $establishmentFilter), 'machinesOverview' => $dashboardService->getMachinesOverview($supervisor, $establishmentFilter), 'machineStatusBreakdown' => $dashboardService->getMachineStatusBreakdown($supervisor, $establishmentFilter), 'recentWashes' => $dashboardService->getRecentWashes($supervisor, $establishmentFilter), 'context' => $dashboardService->getContext($supervisor, $establishmentFilter), 'establishments' => $establishments, 'showEstablishmentFilter' => $supervisor->establishment_id === null && count($establishments) > 1, 'filters' => [ 'establishment_id' => $establishmentFilter, ], ]); } private function resolveDashboardEstablishmentFilter(Request $request, Supervisor $supervisor): ?int { if ($supervisor->establishment_id !== null) { return $supervisor->establishment_id; } if (! $request->filled('establishment_id')) { return null; } $establishmentId = (int) $request->input('establishment_id'); $this->assertEstablishmentAccessible($establishmentId); return $establishmentId; } }