@props(['menuGroups', 'ungroupedCategories' => null, 'currency' => 'TL', 'clickable' => true]) @php // Build tab list: enabled groups + "Diğer" for ungrouped categories $tabs = []; $dayOfWeek = now()->dayOfWeekIso; foreach ($menuGroups as $group) { $groupData = $group->data ?? []; $hasGroupHours = $groupData['service_hours_enabled'] ?? false; $groupSlots = $hasGroupHours ? $groupData['service_hours'][$dayOfWeek] ?? [] : []; // Eski format dönüşümü if (isset($groupSlots['start'])) { $groupSlots = [['name' => 'Servis', 'open' => $groupSlots['start'], 'close' => $groupSlots['end']]]; } $groupSlots = collect($groupSlots)->filter(fn($s) => !($s['is_closed'] ?? false)); $hoursText = ''; if ($hasGroupHours && $groupSlots->isNotEmpty()) { $hoursText = $groupSlots->map(fn($s) => ($s['open'] ?? '') . ' - ' . ($s['close'] ?? ''))->implode(', '); } // Grubun şu an açık/kapalı durumunu hesapla $groupServiceCheck = $group->checkGroupServiceHours(true); $groupIsOpen = $groupServiceCheck['is_open']; $tabs[] = [ 'id' => 'group-' . $group->id, 'name' => $group->name, 'hours' => $hoursText, 'isOpen' => $groupIsOpen, ]; } if ($ungroupedCategories && $ungroupedCategories->isNotEmpty()) { $tabs[] = ['id' => 'group-ungrouped', 'name' => __('menu.other'), 'hours' => '', 'isOpen' => true]; } @endphp @if (!empty($tabs))
@foreach ($tabs as $index => $tab) @endforeach
@foreach ($menuGroups as $group)
@php $groupData = $group->data ?? []; $hasGroupHours = $groupData['service_hours_enabled'] ?? false; $groupSlots = $hasGroupHours ? $groupData['service_hours'][now()->dayOfWeekIso] ?? [] : []; // Eski format dönüşümü if (isset($groupSlots['start'])) { $groupSlots = [['name' => 'Servis', 'open' => $groupSlots['start'], 'close' => $groupSlots['end']]]; } $groupSlots = collect($groupSlots)->filter(fn($s) => !($s['is_closed'] ?? false)); // Grubun açık/kapalı durumunu hesapla $groupServiceCheck = $group->checkGroupServiceHours(true); $groupIsOpen = $groupServiceCheck['is_open']; $groupClosedReason = $groupServiceCheck['reason']; @endphp @if ($hasGroupHours && $groupSlots->isNotEmpty())
{{ $groupIsOpen ? 'timelapse' : 'lock_clock' }} {{ __('menu.service_hours') }} @foreach ($groupSlots as $slot) {{ $slot['open'] ?? '' }} - {{ $slot['close'] ?? '' }}{{ !$loop->last ? ',' : '' }} @endforeach @if (!$groupIsOpen) — {{ __('menu.currently_closed') }} @endif
@endif @include('menu.partials.product-categories', [ 'categories' => $group->menu_categories, 'currency' => $currency, 'clickable' => $clickable && $groupIsOpen, 'serviceOpenOverride' => $groupIsOpen, 'groupClosedReason' => $groupClosedReason, ])
@endforeach @if ($ungroupedCategories && $ungroupedCategories->isNotEmpty())
@include('menu.partials.product-categories', [ 'categories' => $ungroupedCategories, 'currency' => $currency, 'clickable' => $clickable, ])
@endif @endif