From 3e2044106ca7d562775c7741b73ea7d219d14cc9 Mon Sep 17 00:00:00 2001 From: mwpn Date: Fri, 19 Dec 2025 05:36:42 +0700 Subject: [PATCH] Fix: gunakan timezone Indonesia UTC+7 untuk mendapatkan tanggal lokal yang benar --- public/dashboard/event.html | 7 +++++-- public/dashboard/js/dashboard.js | 7 +++++-- public/dashboard/js/realtime.js | 6 +++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/public/dashboard/event.html b/public/dashboard/event.html index f7f41ff..44ed431 100644 --- a/public/dashboard/event.html +++ b/public/dashboard/event.html @@ -844,9 +844,12 @@ // Init document.addEventListener('DOMContentLoaded', async () => { // Set default date ke hari ini (selalu update ke hari ini setiap kali page load) - const today = new Date().toISOString().split('T')[0]; + // Gunakan timezone Indonesia (UTC+7) untuk mendapatkan tanggal lokal yang benar + const now = new Date(); + const indonesiaTime = new Date(now.getTime() + (7 * 60 * 60 * 1000)); // UTC+7 + const today = indonesiaTime.toISOString().split('T')[0]; state.date = today; - console.log('[Events] Default date set to today:', state.date); + console.log('[Events] Default date set to today (Indonesia timezone):', state.date, 'UTC time:', now.toISOString()); // Set dateInput value SECARA LANGSUNG untuk override browser cache/autofill // Lakukan ini SEBELUM setupFilters() untuk memastikan value ter-set dengan benar diff --git a/public/dashboard/js/dashboard.js b/public/dashboard/js/dashboard.js index badf090..c627eb8 100644 --- a/public/dashboard/js/dashboard.js +++ b/public/dashboard/js/dashboard.js @@ -767,9 +767,12 @@ document.addEventListener('DOMContentLoaded', async () => { } // Set default date ke hari ini (selalu update ke hari ini setiap kali page load) - const today = new Date().toISOString().split('T')[0]; + // Gunakan timezone Indonesia (UTC+7) untuk mendapatkan tanggal lokal yang benar + const now = new Date(); + const indonesiaTime = new Date(now.getTime() + (7 * 60 * 60 * 1000)); // UTC+7 + const today = indonesiaTime.toISOString().split('T')[0]; state.date = today; - console.log('[Dashboard] Default date set to today:', state.date); + console.log('[Dashboard] Default date set to today (Indonesia timezone):', state.date, 'UTC time:', now.toISOString()); // Set dateInput value SECARA LANGSUNG untuk override browser cache/autofill // Lakukan ini SEBELUM setupFilters() untuk memastikan value ter-set dengan benar diff --git a/public/dashboard/js/realtime.js b/public/dashboard/js/realtime.js index d5c0c8f..bf34c9f 100644 --- a/public/dashboard/js/realtime.js +++ b/public/dashboard/js/realtime.js @@ -92,8 +92,12 @@ class RealtimeManager { async fetchSnapshot() { try { // Struktur response setelah di-unwrap: { total_count_today, total_amount_today, by_gate, by_category } + // Gunakan timezone Indonesia UTC+7 untuk mendapatkan tanggal lokal yang benar + const now = new Date(); + const indonesiaTime = new Date(now.getTime() + (7 * 60 * 60 * 1000)); // UTC+7 + const today = indonesiaTime.toISOString().split('T')[0]; const snapshot = await apiGetRealtimeSnapshot({ - date: new Date().toISOString().split('T')[0], + date: today, location_code: '' // bisa diambil dari state dashboard jika perlu });