@forelse ($dormitories as $dorm)
@php
$workers = $dorm->workers ?? collect();
$maleWorkers = $workers->where('gender', '男')->values();
$femaleWorkers = $workers->where('gender', '女')->values();
$maleCount = $maleWorkers->count();
$femaleCount = $femaleWorkers->count();
$occupied = $workers->count();
$capacity = (int) $dorm->capacity;
$available = $capacity - $occupied;
$showMale = $dorm->gender_limit !== '女';
$showFemale = $dorm->gender_limit !== '男';
$isMixedOccupancy = $maleCount > 0 && $femaleCount > 0;
// 代理公司分色(康德美=藍,信義=綠,未指定=灰)— 以宿舍設定的代理公司為準,與入住工人無關
$companyLabel = $dorm->agency_company ?: '未指定代理公司';
$companyClass = match (true) {
str_contains((string) $dorm->agency_company, '康德美') => 'company-kangdemei',
str_contains((string) $dorm->agency_company, '信義') => 'company-xinyi',
default => 'company-none',
};
// 已收租金收據(所有年月,卡片上顯示最新年的統計;popup 內按年查)
$paidPeriods = $dorm->rentExpenses
->sortBy([['year', 'desc'], ['month', 'desc']])
->map(fn ($e) => ['year' => $e->year, 'month' => $e->month, 'amount' => $e->amount, 'note' => $e->note]);
$paidThisYear = $paidPeriods->where('year', now()->year);
@endphp
@empty
@endforelse