*/ protected function getViewData(): array { $tenant = Filament::getTenant(); $empty = [ 'hasAssignment' => false, 'profileName' => null, 'lastComparedAt' => null, 'landingUrl' => null, 'runUrl' => null, 'findingsUrl' => null, 'nextActionUrl' => null, 'summaryAssessment' => null, ]; if (! $tenant instanceof Tenant) { return $empty; } $stats = BaselineCompareStats::forTenant($tenant); if (in_array($stats->state, ['no_tenant', 'no_assignment'], true)) { return $empty; } $landingUrl = BaselineCompareLanding::getUrl(tenant: $tenant); $runUrl = $stats->operationRunId !== null ? OperationRunLinks::view($stats->operationRunId, $tenant) : null; $findingsUrl = FindingResource::getUrl('index', tenant: $tenant); $summaryAssessment = $stats->summaryAssessment(); $nextActionUrl = match ($summaryAssessment->nextActionTarget()) { 'run' => $runUrl, 'findings' => $findingsUrl, 'landing' => $landingUrl, default => null, }; return [ 'hasAssignment' => true, 'profileName' => $stats->profileName, 'lastComparedAt' => $stats->lastComparedHuman, 'landingUrl' => $landingUrl, 'runUrl' => $runUrl, 'findingsUrl' => $findingsUrl, 'nextActionUrl' => $nextActionUrl, 'summaryAssessment' => $summaryAssessment->toArray(), ]; } }