@foreach ($area->tables as $item)
@php
$isReservationActive = false;
$startTime = $item->activeReservation ? $item->activeReservation->reservation_date_time : null;
$slotTime = $item->activeReservation ? $item->activeReservation->slot_time_difference : null;
$endTime = $item->activeReservation ? $item->activeReservation->reservation_date_time->addMinutes($slotTime) : null;
if ($item->currentReservationOrders) {
// If there's a current reservation order, check if it's unpaid
$isReservationActive = $item->currentReservationOrders->status !== 'paid';
} elseif ($startTime && $endTime) {
// If no current reservation order, check time slot
$now = now()->timezone(timezone());
$nowValue = $now->format('His');
$startValue = $startTime->format('His');
$endValue = $endTime->format('His');
if ($nowValue >= $startValue && $nowValue <= $endValue) {
$isReservationActive = true;
}
} else {
$isReservationActive = false;
}
@endphp
$item->available_status == 'available',
'bg-red-100 border-red-200' => $item->available_status == 'reserved',
'bg-blue-100 border-blue-200' => $item->available_status == 'running',
'opacity-50' => $item->status == 'inactive'
])>
{{ $item->table_code }}
{{ $item->seating_capacity }} @lang('modules.table.seats')
@if($isReservationActive)
@lang('modules.table.reserved')
@endif
@if($item->activeOrder)
{{ $item->activeOrder->kot->count() }} @lang('modules.order.kot')
@endif