makeOnboardingEntryAction() ->visible(fn (): bool => $this->getTableRecords()->count() > 0), ]; } protected function getTableEmptyStateActions(): array { return [ $this->makeOnboardingEntryAction(), ]; } private function makeOnboardingEntryAction(): Actions\Action { $descriptor = TenantResource::tenantActionPolicy()->onboardingEntryDescriptor($this->accessibleResumableDraftCount()); return Actions\Action::make('add_tenant') ->label($descriptor->label) ->icon($descriptor->icon) ->url(route('admin.onboarding')); } private function accessibleResumableDraftCount(): int { $user = auth()->user(); if (! $user instanceof User) { return 0; } $workspaceId = app(WorkspaceContext::class)->currentWorkspaceId(request()); if (! is_int($workspaceId)) { return 0; } $workspace = Workspace::query()->whereKey($workspaceId)->first(); if (! $workspace instanceof Workspace) { return 0; } return app(OnboardingDraftResolver::class)->resumableDraftsFor($user, $workspace)->count(); } }