with(['tables', 'images', 'operatingHours', 'reviews.user']) ->firstOrFail(); // --- LOGIKA BARU UNTUK JAM OPERASIONAL HARI INI --- // Day of week: 1 (Senin) - 7 (Minggu). Carbon menggunakan 0 (Minggu) - 6 (Sabtu) $dayOfWeek = Carbon::now('Asia/Jakarta')->dayOfWeekIso; // ISO standard: 1=Senin, 7=Minggu // Cari jadwal untuk hari ini dari data yang sudah dimuat $todaysHours = $venue->operatingHours->firstWhere('day_of_week', $dayOfWeek); // Siapkan data jam buka dan tutup untuk hari ini // Jika tidak ada jadwal spesifik, atau jika hari ini libur, maka venue dianggap tutup if ($todaysHours && !$todaysHours->is_closed) { $openTime = $todaysHours->open_time; $closeTime = $todaysHours->close_time; } else { // Set default ke 'tutup' jika tidak ada jadwal atau is_closed = true $openTime = '00:00'; $closeTime = '00:00'; } // --- AKHIR LOGIKA BARU --- $averageRating = $venue->reviews->avg('rating'); $totalReviews = $venue->reviews->count(); // Kirim semua data ke view return view('pages.venue', compact('venue', 'openTime', 'closeTime', 'averageRating', 'totalReviews')); } }