@props(['categories', 'currency' => 'TL', 'clickable' => true, 'serviceOpenOverride' => null]) @if(isset($categories) && $categories->count()) @foreach($categories as $category) @php // When a group-level override is provided (grouped view), always render the // full accordion so customers can browse products. Ordering is controlled // solely via the $clickable prop. if ($serviceOpenOverride !== null) { $isServiceOpen = true; // Always show accordion in grouped mode $isGroupClosed = !$serviceOpenOverride; $serviceClosedReason = $groupClosedReason ?? __('menu.group_service_closed'); } else { $isServiceOpen = $category->service_open ?? true; $isGroupClosed = false; $serviceClosedReason = $category->service_closed_reason ?? null; } @endphp @if($isServiceOpen)

@php $categoryData = $category->data ?? []; $hasCategoryHours = $categoryData['service_hours_enabled'] ?? false; $categorySlots = $hasCategoryHours ? ($categoryData['service_hours'][now()->dayOfWeekIso] ?? []) : []; // Eski format dönüşümü if (isset($categorySlots['start'])) { $categorySlots = [['name' => 'Servis', 'open' => $categorySlots['start'], 'close' => $categorySlots['end']]]; } $categorySlots = collect($categorySlots)->filter(fn($s) => !($s['is_closed'] ?? false)); @endphp @if($hasCategoryHours && $categorySlots->isNotEmpty())
timelapse {{ __('menu.service_hours') }} @foreach($categorySlots as $slot) {{ $slot['open'] ?? '' }} - {{ $slot['close'] ?? '' }}{{ !$loop->last ? ',' : '' }} @endforeach
@endif
@else
image ?? null) style="background-image: linear-gradient(rgba(255,255,255,0.9), rgba(255,255,255,0.9)), url('{{ asset('storage/' . str_replace('uploads/', '', $category->image->url)) }}'); background-size: cover; background-position: center;" @endif >

{{ $category->name }}

{{ $serviceClosedReason ?? __('menu.category_service_closed') }}
@endif @endforeach @endif