This commit is contained in:
Nathan 2025-12-19 01:20:23 +07:00
parent 488a5bd900
commit 3af660e56b

View File

@ -1,66 +1,86 @@
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
// --- 1. LOGIKA MUSIK (FIXED) ---
const musicBtn = document.getElementById('musicBtn'); const musicBtn = document.getElementById('musicBtn');
const bgMusic = document.getElementById('bgMusic'); const bgMusic = document.getElementById('bgMusic');
let isMusicPlaying = false;
musicBtn.innerText = '🔇';
if (musicBtn && bgMusic) { if (bgMusic) {
// Cek status awal: Kalau lagu pause, icon harus mute bgMusic.play()
if (bgMusic.paused) { .then(() => {
musicBtn.textContent = '🔇'; console.log("Auto-play sukses");
isMusicPlaying = true;
musicBtn.innerText = '🔊';
})
.catch((error) => {
console.log("Auto-play diblokir browser, menunggu klik user.");
isMusicPlaying = false;
musicBtn.innerText = '🔇';
});
}
musicBtn.addEventListener('click', () => {
if (isMusicPlaying) {
bgMusic.pause();
musicBtn.innerText = '🔇';
isMusicPlaying = false;
} else { } else {
musicBtn.textContent = '🔊'; bgMusic.play();
musicBtn.innerText = '🔊';
isMusicPlaying = true;
} }
});
musicBtn.addEventListener('click', () => {
if (bgMusic.paused) {
// Kalau lagi mati, nyalakan
bgMusic.play().then(() => {
musicBtn.textContent = '🔊';
}).catch((e) => {
console.log("Browser memblokir audio:", e);
});
} else {
// Kalau lagi nyala, matikan
bgMusic.pause();
musicBtn.textContent = '🔇';
}
});
} else {
console.error("Element Audio/Tombol tidak ditemukan!");
}
// --- 2. LOGOUT ---
const logoutBtn = document.getElementById("logoutBtn");
if (logoutBtn) {
logoutBtn.addEventListener("click", () => {
window.location.href = "logout.php";
});
}
// --- 3. LEADERBOARD ---
const leaderboardBtn = document.getElementById("leaderboardBtn");
if (leaderboardBtn) {
leaderboardBtn.addEventListener("click", () => {
window.location.href = "Leaderboard.php";
});
}
}); });
// --- FUNGSI GLOBAL (Bisa dipanggil dari onclick HTML) --- // --- INIT AUDIO CLICK ---
// Pastikan path-nya sesuai dengan folder kamu
const sfxClick = new Audio('music/music-click.mp3');
// NAVIGATION // Fungsi helper biar rapi
function selectStage(stage) { function playClick() {
console.log("Pindah ke stage:", stage); // Debugging sfxClick.currentTime = 0;
window.location.href = "gameboard-" + stage + ".php"; sfxClick.play().catch(() => {});
}
function selectStage(stage) {
playClick();
// Kasih delay dikit (300ms) biar suara 'Ceklik' kedengeran sebelum pindah
setTimeout(() => {
window.location.href = "gameboard-" + stage + ".php";
}, 300);
} }
// OVERLAY CREDITS
function openCredits() { function openCredits() {
const overlay = document.getElementById('creditsOverlay'); playClick();
if(overlay) overlay.style.display = 'flex'; document.getElementById('creditsOverlay').style.display = 'flex';
} }
function closeCredits() { function closeCredits() {
const overlay = document.getElementById('creditsOverlay'); playClick();
if(overlay) overlay.style.display = 'none'; document.getElementById('creditsOverlay').style.display = 'none';
}
// Untuk Logout
const logoutBtn = document.getElementById("logoutBtn");
if (logoutBtn) {
logoutBtn.addEventListener("click", (e) => {
e.preventDefault(); // Tahan dulu biar gak langsung pindah
playClick();
setTimeout(() => {
window.location.href = "logout.php";
}, 300);
});
}
// Untuk Leaderboard
const leaderboardBtn = document.getElementById("leaderboardBtn");
if (leaderboardBtn) {
leaderboardBtn.addEventListener("click", (e) => {
e.preventDefault(); // Tahan dulu
playClick();
setTimeout(() => {
window.location.href = "Leaderboard.php";
}, 300);
});
} }