leaderboard sound correct finally, click underway
This commit is contained in:
parent
9b425899d9
commit
2900863f22
@ -11,46 +11,47 @@ const lbMusicBtn = document.getElementById("lbMusicBtn");
|
||||
const lbAudio = document.getElementById("lbAudio");
|
||||
|
||||
if (lbMusicBtn && lbAudio) {
|
||||
|
||||
// 1. Cek 'memori' browser (localStorage).
|
||||
// Kalau belum pernah diset (null), anggap "on" (default).
|
||||
lbAudio.loop = true;
|
||||
const savedState = localStorage.getItem("musicState");
|
||||
let isLbPlaying = savedState === null ? true : (savedState === "on");
|
||||
|
||||
// 2. Fungsi untuk Update Tampilan & Audio sesuai status
|
||||
|
||||
const updateMusicState = () => {
|
||||
if (isLbPlaying) {
|
||||
// Coba play
|
||||
lbAudio.play().then(() => {
|
||||
lbMusicBtn.innerHTML = "🔊";
|
||||
}).catch(error => {
|
||||
console.log("Autoplay dicegah browser, perlu interaksi.");
|
||||
// Kalau diblokir browser, paksa status jadi off di tampilan
|
||||
lbMusicBtn.innerHTML = "🔇";
|
||||
isLbPlaying = false;
|
||||
localStorage.setItem("musicState", "off");
|
||||
console.log("Autoplay dicegah, menunggu interaksi user...");
|
||||
lbMusicBtn.innerHTML = "🔇";
|
||||
|
||||
const enableAudioOnInteraction = () => {
|
||||
lbAudio.play().then(() => {
|
||||
lbMusicBtn.innerHTML = "🔊";
|
||||
});
|
||||
document.removeEventListener('click', enableAudioOnInteraction);
|
||||
document.removeEventListener('touchstart', enableAudioOnInteraction);
|
||||
};
|
||||
|
||||
document.addEventListener('click', enableAudioOnInteraction);
|
||||
document.addEventListener('touchstart', enableAudioOnInteraction);
|
||||
});
|
||||
} else {
|
||||
// Pause
|
||||
lbAudio.pause();
|
||||
lbMusicBtn.innerHTML = "🔇";
|
||||
}
|
||||
};
|
||||
|
||||
// 3. Jalankan pengecekan awal saat halaman/filter dimuat
|
||||
updateMusicState();
|
||||
|
||||
// 4. Event Listener Tombol
|
||||
lbMusicBtn.addEventListener("click", () => {
|
||||
lbMusicBtn.addEventListener("click", (e) => {
|
||||
e.stopPropagation();
|
||||
|
||||
if (isLbPlaying) {
|
||||
// User mau mematikan
|
||||
isLbPlaying = false;
|
||||
localStorage.setItem("musicState", "off"); // Simpan ke memori "off"
|
||||
localStorage.setItem("musicState", "off");
|
||||
} else {
|
||||
// User mau menyalakan
|
||||
isLbPlaying = true;
|
||||
localStorage.setItem("musicState", "on"); // Simpan ke memori "on"
|
||||
localStorage.setItem("musicState", "on");
|
||||
}
|
||||
updateMusicState(); // Terapkan perubahan
|
||||
updateMusicState();
|
||||
});
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user