// Render jadwal sholat di grid, highlight selanjutnya function renderPrayerTimes(now) if (!prayerGrid) return; prayerGrid.innerHTML = ""; let nowMinutes = now.getHours() * 60 + now.getMinutes(); let nextIdx = -1; let smallestDiff = Infinity; // menentukan sholat berikutnya for (let i = 0; i < prayerNamesOrder.length; i++) const nama = prayerNamesOrder[i]; let waktuStr = prayerSchedule[nama]; if (!waktuStr) continue; let [jam, menit] = waktuStr.split(":").map(Number); let totalMenit = jam * 60 + menit; let diff = totalMenit - nowMinutes; if (diff < 0) diff += 24*60; if (diff < smallestDiff) smallestDiff = diff; nextIdx = i; for (let i = 0; i < prayerNamesOrder.length; i++) "--:--"; const isNext = (i === nextIdx); const card = document.createElement('div'); card.className = 'prayer-card'; if (isNext) card.classList.add('next-prayer-highlight'); card.innerHTML = ` <div class="prayer-name">$nama</div> <div class="prayer-time">$waktu</div> $isNext ? '<div class="next-label">✨ BERIKUTNYA ✨</div>' : '' `; prayerGrid.appendChild(card); nextPrayerIndex = nextIdx;
// Flag azan sudah dipanggil untuk waktu yang sama let lastAzanTriggerHourMin = ""; aplikasi jam digital masjid gratis
function useOfflineSchedule() // Jadwal offline standar masjid umum (kota Jakarta rata2) prayerSchedule = Subuh: "04:45", Dzuhur: "12:05", Ashar: "15:25", Maghrib: "18:02", Isya: "19:18" ; // Hijriah offline sederhana (coba generate dari tanggal masehi) const today = new Date(); hijriElement.innerText = `📅 Estimasi Hijriah · $today.toLocaleDateString()`; document.getElementById('lokasiMasjid').innerHTML = `🕌 Masjid (Mode Offline)`; renderPrayerTimes(new Date()); // Render jadwal sholat di grid, highlight selanjutnya