map(function ($item) { $videoId = $this->extractYouTubeId($item['youtube_link']); if ($videoId) { $item['thumbnail'] = "https://img.youtube.com/vi/{$videoId}/hqdefault.jpg"; } else { $item['thumbnail'] = 'https://via.placeholder.com/150?text=No+Preview'; } return $item; }); $hour = date('H'); $greeting = "Selamat Pagi"; if ($hour >= 12 && $hour < 15) { $greeting = "Selamat Siang"; } elseif ($hour >= 15 && $hour < 18) { $greeting = "Selamat Sore"; } elseif ($hour >= 18) { $greeting = "Selamat Malam"; } return view('dashboard', compact( 'user', 'stats', 'pengumuman', 'pemberitahuan', 'progressMembaca', 'statistikBulanan', 'bukuPinjamOffline', 'bacaBukuOnline', 'greeting', 'rekomendasiPembelajaran' )); } /** * Helper function untuk mengekstrak ID video dari URL YouTube. */ private function extractYouTubeId(string $url): ?string { preg_match('/(v=|vi=|youtu.be\/|embed\/|\/v\/|\?v=|\&v=)(.+?)\b/i', $url, $matches); return $matches[2] ?? null; } }