This commit is contained in:
Evelyn Sucitro 2025-12-15 22:01:03 +07:00
parent 7e99339f21
commit 08f00ee6d6
2 changed files with 48 additions and 20 deletions

View File

@ -3,23 +3,32 @@ document.addEventListener("DOMContentLoaded", () => {
}); });
function loadLeaderboard() { function loadLeaderboard() {
fetch('Leaderboard.php') // Tambahkan '?t=' + waktu sekarang agar URL selalu unik & tidak di-cache
fetch('Leaderboard.php?t=' + new Date().getTime())
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
if (data.status === "success") { if (data.status === "success") {
// Render Top 10 // 1. Render Top 10
renderLeaderboard(data.leaderboard); renderLeaderboard(data.leaderboard);
// Render Ranking Saya (User Rank) // 2. LOGIKA BARU UNTUK USER RANK
const rankContainer = document.getElementById('userRankContainer');
if (data.user_rank) { if (data.user_rank) {
// Kalo user LOGIN (ada datanya):
// Render isinya & Pastikan MUNCUL (display: block)
renderUserRank(data.user_rank); renderUserRank(data.user_rank);
if (rankContainer) rankContainer.style.display = 'block';
} else {
// Kalo user LOGOUT (datanya null):
// SEMBUNYIKAN elemennya!
if (rankContainer) rankContainer.style.display = 'none';
} }
} }
}) })
.catch(error => console.error("Error loading leaderboard:", error)); .catch(error => console.error("Error loading leaderboard:", error));
} }
// ... fungsi renderLeaderboard tetap sama ...
// TAMBAHKAN FUNGSI INI DI BAWAH // TAMBAHKAN FUNGSI INI DI BAWAH
function renderUserRank(user) { function renderUserRank(user) {

View File

@ -1,7 +1,7 @@
(function() { (function() {
'use strict'; 'use strict';
// ==================== CHECK LOGIN STATUS ==================== // CHECK LOGIN STATUS
function checkLoginStatus() { function checkLoginStatus() {
const loggedInUser = sessionStorage.getItem("loggedInUser"); const loggedInUser = sessionStorage.getItem("loggedInUser");
const loginBtn = document.querySelector('.btn-login'); const loginBtn = document.querySelector('.btn-login');
@ -102,22 +102,41 @@
document.removeEventListener('keydown', handleEscapeKey); document.removeEventListener('keydown', handleEscapeKey);
} }
// ==================== CONFIRM LOGOUT ==================== // CONFIRM LOGOUT
// GANTI fungsi confirmLogout() yang lama dengan ini:
function confirmLogout() { function confirmLogout() {
// ✅ Clear semua session data console.log("Mencoba logout ke server..."); // Debugging
sessionStorage.removeItem("loggedInUser");
sessionStorage.removeItem("authToken");
// Close logout modal // 1. Panggil PHP untuk hancurkan sesi server
closeLogoutModal(); fetch('Logout.php')
.then(response => {
console.log("Respon server:", response);
return response.json(); // Ubah ke JSON biar bisa dicek
})
.then(data => {
console.log("Status Logout:", data);
// Show success modal // 2. Hapus data di browser (Session Storage)
showSuccessModal(); sessionStorage.removeItem("loggedInUser");
sessionStorage.removeItem("authToken"); // Kalau ada
sessionStorage.clear(); // Bersihkan semuanya biar aman
// Redirect after 1.5 seconds // 3. Tutup Modal & Redirect
setTimeout(() => { closeLogoutModal();
window.location.href = 'Homepage.html'; showSuccessModal();
}, 1500);
setTimeout(() => {
// Redirect ke Homepage
window.location.replace('Homepage.html');
}, 1500);
})
.catch(error => {
console.error('Logout error:', error);
// Fallback: Kalau server error, tetap paksa keluar di tampilan
sessionStorage.clear();
window.location.replace('Homepage.html');
});
} }
// ==================== SHOW SUCCESS MODAL ==================== // ==================== SHOW SUCCESS MODAL ====================