*/ protected function getStats(): array { $totalWorkspaces = Workspace::query()->count(); $workspacesWithOwners = WorkspaceMembership::query() ->where('role', WorkspaceRole::Owner->value) ->distinct('workspace_id') ->count('workspace_id'); $ownerlessWorkspaces = $totalWorkspaces - $workspacesWithOwners; $totalMembers = WorkspaceMembership::query()->count(); return [ Stat::make('Total workspaces', $totalWorkspaces) ->color('gray') ->icon('heroicon-o-rectangle-stack'), Stat::make('Healthy (has owner)', $workspacesWithOwners) ->color($workspacesWithOwners > 0 ? 'success' : 'gray') ->icon('heroicon-o-check-circle'), Stat::make('Ownerless', $ownerlessWorkspaces) ->color($ownerlessWorkspaces > 0 ? 'danger' : 'success') ->icon($ownerlessWorkspaces > 0 ? 'heroicon-o-exclamation-triangle' : 'heroicon-o-check-circle'), Stat::make('Total memberships', $totalMembers) ->color('gray') ->icon('heroicon-o-users'), ]; } }