whereBelongsTo($current_team) ->orderByDesc('year') ->orderByDesc('month') ->get(); /** @var ReportPeriod|null $selectedPeriod */ $selectedPeriod = $periods->firstWhere('id', $request->integer('period', $periods->first()?->id)); $analysis = $selectedPeriod ? $analysisReportService->build($current_team, $selectedPeriod->year, $selectedPeriod->month) : [ 'period' => null, 'columns' => [], 'rows' => [], 'meta' => [ 'status' => null, 'statusLabel' => null, 'updatedAt' => null, 'canEditSources' => false, ], ]; return Inertia::render('reports/analysis/Index', [ 'periods' => $periods->map(fn (ReportPeriod $period) => [ 'id' => $period->id, 'label' => $period->label(), 'status' => $period->status->value, 'statusLabel' => $period->status->label(), ])->values(), 'selectedPeriodId' => $selectedPeriod?->id, ...$analysis, ]); } }