@php $weekDays = $weekDays ?? []; $selectedDay = $selectedDay ?? ''; $tabQuery = $tabQuery ?? fn (array $extra = []) => []; $maxExpected = 0.0; foreach ($weekDays as $day) { $maxExpected = max($maxExpected, (float) ($day['expected'] ?? 0)); } @endphp @if (count($weekDays) > 0)

Days this week

All week
@foreach ($weekDays as $day) @php $date = (string) ($day['date'] ?? ''); $isSelected = $selectedDay !== '' && $selectedDay === $date; $upcoming = (bool) ($day['upcoming'] ?? false); $band = (string) ($day['band'] ?? 'empty'); $expected = (float) ($day['expected'] ?? 0); $clients = (int) ($day['client_count'] ?? 0); $empty = $expected <= 0.01; $barPct = $maxExpected > 0.01 ? min(100, ($expected / $maxExpected) * 100) : 0; $cardClass = match (true) { ! $upcoming => 'border-slate-200 bg-slate-50 text-slate-400', $isSelected => 'border-slate-800 bg-white ring-1 ring-slate-800', $band === 'heavy' => 'border-amber-300 bg-amber-50', $band === 'empty' => 'border-slate-200 bg-white', default => 'border-slate-200 bg-white hover:border-slate-400', }; $selectUrl = route('loan.book.collections.sheet', $tabQuery([ 'tab' => 'weekly', 'day' => $isSelected ? null : $date, ])); $peopleUrl = ! $empty ? route('loan.book.collections.sheet', $tabQuery([ 'tab' => 'weekly', 'day' => $date, 'insight' => 'expected', ])) : null; $bandLabel = match ($band) { 'heavy' => 'Heavy', 'medium' => 'Busy', 'light' => 'Light', default => $upcoming ? 'Empty' : 'Past', }; @endphp
@if ($selectUrl)

{{ $day['weekday'] }}

{{ $day['date_label'] }}

@else

{{ $day['weekday'] }}

{{ $day['date_label'] }}

@endif

KES {{ number_format($expected, 0) }}

{{ number_format($clients, 0) }} {{ $clients === 1 ? 'client' : 'clients' }} ยท {{ $bandLabel }}

@if ($peopleUrl) + @endif
@endforeach
@endif