57 lines
1.9 KiB
JavaScript
57 lines
1.9 KiB
JavaScript
const buttons = document.querySelectorAll(".filter-btn");
|
|
buttons.forEach(btn => {
|
|
btn.addEventListener("click", function () {
|
|
buttons.forEach(b => b.classList.remove("active"));
|
|
this.classList.add("active");
|
|
});
|
|
});
|
|
|
|
|
|
const lbMusicBtn = document.getElementById("lbMusicBtn");
|
|
const lbAudio = document.getElementById("lbAudio");
|
|
|
|
if (lbMusicBtn && lbAudio) {
|
|
lbAudio.loop = true;
|
|
const savedState = localStorage.getItem("musicState");
|
|
let isLbPlaying = savedState === null ? true : (savedState === "on");
|
|
|
|
const updateMusicState = () => {
|
|
if (isLbPlaying) {
|
|
lbAudio.play().then(() => {
|
|
lbMusicBtn.innerHTML = "🔊";
|
|
}).catch(error => {
|
|
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 {
|
|
lbAudio.pause();
|
|
lbMusicBtn.innerHTML = "🔇";
|
|
}
|
|
};
|
|
|
|
updateMusicState();
|
|
|
|
lbMusicBtn.addEventListener("click", (e) => {
|
|
e.stopPropagation();
|
|
|
|
if (isLbPlaying) {
|
|
isLbPlaying = false;
|
|
localStorage.setItem("musicState", "off");
|
|
} else {
|
|
isLbPlaying = true;
|
|
localStorage.setItem("musicState", "on");
|
|
}
|
|
updateMusicState();
|
|
});
|
|
} |