@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