{{-- Overview — read-only. What an admin opens a person to find out. --}} @php $gaps = []; if ($user->isWorkspaceSourced() && ! $user->usesWorkspace()) $gaps[] = 'Workspace add-on is off for this company — no task feed'; if (! $user->shift_start || ! $user->shift_end) $gaps[] = 'No shift window — the Timesheet cannot measure them against a day'; if (! $user->tracksTimesheet()) $gaps[] = 'Excluded from the Timesheet and its Teams digest'; if ($devices->isEmpty()) $gaps[] = 'No desktop install has ever reported in'; if ($user->isWorkspaceSourced() && $memberOf->isEmpty()) $gaps[] = 'In no team, so no lead sees them in the portal'; if (! $user->isSuperAdmin() && ! $user->primaryRole()) $gaps[] = 'No role, so no web access'; if ($user->canAccess(\App\Support\Permissions::VIEW_TEAM) && ! $user->canAccess(\App\Support\Permissions::VIEW_ALL) && $leads->isEmpty()) $gaps[] = 'Their role shows their own teams, but they lead none — they see only themselves'; @endphp

Overview

Everything at a glance
Last tracked
{{ $activity['last_seen']?->diffForHumans() ?? 'Never' }}
Today
{{ \App\Support\Duration::hhmm($activity['today']) }}
Last 7 days
{{ \App\Support\Duration::hhmm($activity['week']) }}
{{ number_format($activity['shots_week']) }} screenshots
Last 30 days
{{ \App\Support\Duration::hhmm($activity['month']) }}

Placement

Department {{ $user->department ?: '—' }}
Position {{ $user->designation ?: '—' }}
Workspace role {{ $user->workspace_role ?: '—' }}
Teams {{ $memberOf->pluck('name')->implode(', ') ?: 'No team' }}
Portal @if (! $user->canUsePortal()) Desktop only @elseif ($activity['visible_count'] === null) {{ $user->accessLabel() }} sees the whole company @else {{ $user->accessLabel() }} sees {{ $activity['visible_count'] }} {{ \Illuminate\Support\Str::plural('person', $activity['visible_count']) }}, themselves included @endif
@if ($leads->isNotEmpty())
Leads {{ $leads->count() }} {{ \Illuminate\Support\Str::plural('team', $leads->count()) }}: {{ $leads->map(fn ($t) => $t->name . ' (' . $t->members->count() . ')')->implode(', ') }}
@endif @if ($gaps)

Needs attention

@else
This profile is complete.
@endif