@extends('layouts.app')
@section('title', 'Room Rack')
@section('page_title', 'Room Rack')
@section('page_subtitle', 'Live status of all {{ $counts[\'total\'] }} rooms')
@section('nav_roomrack', 'bg-teal-50 text-teal-700 font-semibold')
@section('content')
@php
$statusCfg = [
'available' => ['band' => 'bg-green-500', 'bg' => 'bg-green-50', 'border' => 'border-green-200', 'badge' => 'bg-green-100 text-green-700', 'label' => 'Available'],
'clean' => ['band' => 'bg-emerald-500', 'bg' => 'bg-emerald-50', 'border' => 'border-emerald-200', 'badge' => 'bg-emerald-100 text-emerald-700','label' => 'Clean'],
'occupied' => ['band' => 'bg-teal-600', 'bg' => 'bg-teal-50', 'border' => 'border-teal-200', 'badge' => 'bg-teal-100 text-teal-700', 'label' => 'Occupied'],
'dirty' => ['band' => 'bg-amber-400', 'bg' => 'bg-amber-50', 'border' => 'border-amber-200', 'badge' => 'bg-amber-100 text-amber-700', 'label' => 'Dirty'],
'maintenance' => ['band' => 'bg-orange-500', 'bg' => 'bg-orange-50', 'border' => 'border-orange-200', 'badge' => 'bg-orange-100 text-orange-700', 'label' => 'Maintenance'],
'out_of_order' => ['band' => 'bg-red-500', 'bg' => 'bg-red-50', 'border' => 'border-red-200', 'badge' => 'bg-red-100 text-red-700', 'label' => 'Out of Order'],
];
@endphp
{{-- Summary bar + filter tabs --}}
All
{{ $counts['total'] }}
Available / Clean
{{ $counts['available'] }}
Occupied
{{ $counts['occupied'] }}
Dirty
{{ $counts['dirty'] }}
@if ($counts['maintenance'] > 0)
Maintenance / OOO
{{ $counts['maintenance'] }}
@endif
{{ $counts['occupied'] }} in-house
|
{{ now()->format('g:i A') }}
{{-- Floor sections --}}
@foreach ($floors as $floor => $rooms)
{{-- Floor header --}}
Floor {{ $floor }}
{{ $rooms->count() }} rooms
{{-- Room grid --}}
@foreach ($rooms as $room)
@php
$cfg = $statusCfg[$room->status] ?? $statusCfg['available'];
$reservation = $checkedIn[$room->no] ?? null;
$arriving = $arrivingToday[$room->no] ?? null;
$filterKey = in_array($room->status, ['available', 'clean']) ? 'available'
: (in_array($room->status, ['maintenance', 'out_of_order']) ? 'maintenance'
: $room->status);
if ($reservation) {
$href = route('reservations.show', $reservation->id);
} elseif ($arriving) {
$href = route('reservations.show', $arriving->id);
} elseif (in_array($room->status, ['available', 'clean'])) {
$href = route('reservations.create');
} else {
$href = route('rooms.show', $room->no);
}
@endphp
@endforeach
@endforeach
{{-- Legend --}}
@foreach ([['bg-green-500','Available'],['bg-emerald-500','Clean'],['bg-teal-600','Occupied'],['bg-amber-400','Dirty'],['bg-orange-500','Maintenance'],['bg-red-500','Out of Order']] as [$color, $label])
{{ $label }}
@endforeach
@endsection