@extends('layouts.main') @section('content')
Memproses booking...
@php // Menyiapkan semua gambar (cover + galeri) untuk Alpine.js $galleryPaths = collect(); if ($venue->image) { // Tambahkan gambar utama sebagai gambar pertama $galleryPaths->push(asset('storage/' . $venue->image)); } // Tambahkan gambar-gambar dari relasi 'images' if(isset($venue->images) && $venue->images->isNotEmpty()) { foreach ($venue->images as $img) { $galleryPaths->push(asset('storage/' . $img->path)); } } @endphp
isNotEmpty()) @click="open(0)" @endif class="relative w-full h-64 md:h-[33rem] cursor-pointer group"> {{ $venue['name'] }}
@if(isset($venue->images) && $venue->images->isNotEmpty()) @foreach($venue->images->take(2) as $image) @php // Indeks ini untuk membuka gambar yang benar di modal // +1 karena gambar utama (cover) ada di indeks 0 $modalIndex = $loop->index + 1; @endphp
Gallery image {{ $loop->iteration }} @if($loop->last && $galleryPaths->count() > 1)
Lihat Semua Foto
@else
@endif
@endforeach @endif
/

{{ $venue['name'] }}

{{--

{{ $venue['description'] ?? 'Tidak ada deskripsi.' }}

--}}
@if($venue['status'] === 'open') @php // Siapkan data untuk ditampilkan $days = [1 => 'Senin', 2 => 'Selasa', 3 => 'Rabu', 4 => 'Kamis', 5 => 'Jumat', 6 => 'Sabtu', 7 => 'Minggu']; $hoursByDay = $venue->operatingHours->keyBy('day_of_week'); $todayDayNumber = now('Asia/Jakarta')->dayOfWeekIso; // 1 for Monday, 7 for Sunday $todaysHours = $hoursByDay->get($todayDayNumber); $isOpenNow = false; $statusText = 'Tutup'; $statusColor = 'text-red-600'; if ($todaysHours && !$todaysHours->is_closed) { $openTimeToday = \Carbon\Carbon::parse($todaysHours->open_time); $closeTimeToday = \Carbon\Carbon::parse($todaysHours->close_time); $now = now('Asia/Jakarta'); // Logika untuk 'Buka 24 Jam' if ($openTimeToday->format('H:i') == '00:00' && $closeTimeToday->format('H:i') == '23:59') { $isOpenNow = true; $statusText = 'Buka 24 jam'; } // Logika untuk jam overnight (lewat tengah malam) elseif ($closeTimeToday->lt($openTimeToday)) { if ($now->between($openTimeToday, $closeTimeToday->copy()->addDay())) { $isOpenNow = true; } } // Logika untuk jam normal else { if ($now->between($openTimeToday, $closeTimeToday)) { $isOpenNow = true; } } if($isOpenNow && $statusText == 'Tutup'){ $statusText = 'Buka sekarang'; } $statusColor = $isOpenNow ? 'text-green-600' : 'text-red-600'; } @endphp
@foreach($days as $dayNumber => $dayName) @php $schedule = $hoursByDay->get($dayNumber); $isToday = ($dayNumber == $todayDayNumber); @endphp @endforeach
{{ $dayName }} @if($schedule && !$schedule->is_closed) @if($schedule->open_time == '00:00:00' && $schedule->close_time == '23:59:00') Buka 24 jam @else {{ \Carbon\Carbon::parse($schedule->open_time)->format('H:i') }} - {{ \Carbon\Carbon::parse($schedule->close_time)->format('H:i') }} @endif @else Tutup @endif
@else

Tutup Sementara - {{ $venue['close_reason'] }}

@endif
@if($venue->link_instagram) @endif @if($venue->link_tiktok) @endif @if($venue->link_facebook) @endif @if($venue->link_x) @endif
@if($venue->latitude && $venue->longitude) @php // PASTIKAN BARIS INI MEMILIKI "https://www." $baseUrl = "https://www.google.com/maps/search/"; $coordinates = "@" . $venue->latitude . ',' . $venue->longitude; $restoUrl = $baseUrl . "Restoran/" . $coordinates . ",15z"; $hotelUrl = $baseUrl . "Hotel/" . $coordinates . ",15z"; $minimarketUrl = $baseUrl . "Minimarket/" . $coordinates . ",15z"; $atmUrl = $baseUrl . "ATM/" . $coordinates . ",17z"; @endphp Restoran Hotel Minimarket ATM @else Koordinat venue belum diatur. @endif

Lokasi Venue

{{ $venue['address'] }}

@auth
@endauth

Pilih Meja

@foreach ($venue['tables'] as $table)

{{ $table['name'] }} ({{ $table['brand'] }})

Rp. {{ number_format($table['price_per_hour'], 0, ',', '.') }} / jam

Pilih Jam Booking:

Pilih Durasi Main:

@if ($venue['status'] === 'open') @else @endif
@endforeach

Ulasan Pengguna

@if($totalReviews > 0)
{{ number_format($averageRating, 1) }}
@for ($i = 1; $i <= 5; $i++) @if ($i <= round($averageRating)) @else @endif @endfor

Berdasarkan {{ $totalReviews }} ulasan

@foreach($venue->reviews->sortByDesc('created_at') as $review)
{{-- Ambil inisial nama --}} {{ strtoupper(substr($review->user->name, 0, 1)) }}

{{ $review->user->name }}

{{ $review->created_at->diffForHumans() }}

{{ $review->rating }}

{{ $review->comment }}

@endforeach
@else

Belum ada ulasan untuk venue ini.

@endif
@endsection