{{-- Compliance overview — one row per service, aggregated in SQL. From ManagementController@compliance: $rows (paginator), $totals, $filters, $registeredManagers, $serviceManagers --}} @extends('layouts.app') @section('title', 'Compliance') @section('content') @include('partials.flash') @php $role = auth()->user()->primaryRole(); $indexRoute = $role . '.compliance.index'; $matrixRoute = $role . '.compliance.matrix'; @endphp {{-- Summary tiles (reflect the current filter) --}}
@php $tiles = [ ['label' => 'Services', 'value' => $totals['homes'], 'icon' => 'home_health', 'class' => 'text-primary'], ['label' => 'Care Workers', 'value' => $totals['workers'], 'icon' => 'groups', 'class' => 'text-secondary'], ['label' => 'Avg. Compliance', 'value' => $totals['avg_compliance'] . '%', 'icon' => 'donut_large', 'class' => 'text-on-secondary-container'], ['label' => 'Overdue Courses', 'value' => $totals['overdue'], 'icon' => 'warning', 'class' => 'text-error'], ]; @endphp @foreach($tiles as $tile)
{{ $tile['icon'] }}

{{ $tile['value'] }}

{{ $tile['label'] }}

@endforeach
{{-- Filter bar --}}
search
@if($headsOfOperations->isNotEmpty())
@endif @if($registeredManagers->isNotEmpty())
@endif @if($serviceManagers->isNotEmpty())
@endif
@if($filters['q'] || $filters['hooId'] || $filters['rmId'] || $filters['smId'] || $filters['sort'] !== 'name') Reset @endif grid_view Matrix view
{{-- Home roll-up table --}} @if($rows->isEmpty())
home_health

No services match your filters

Try clearing the search or manager filters.

@else
@foreach($rows as $row) @php $pct = $row['compliance']; $bar = $row['overdue'] > 0 ? 'bg-error' : ($pct >= 100 ? 'bg-primary' : 'bg-gold'); $drill = route($indexRoute, ['service' => $row['service']->id]); @endphp @endforeach
Service Service Manager Workers Overdue Compliance
{{ $row['service']->name }}

{{ $row['service']->code }}{{ $row['service']->registeredManager ? ' · RM: ' . $row['service']->registeredManager->name : '' }}

{{ $row['service']->serviceManager->name ?? '—' }} {{ $row['workers'] }} @if($row['overdue'] > 0) {{ $row['overdue'] }} @else 0 @endif
{{ $pct }}%
View →
{{ $rows->links() }}
@endif @endsection