Fix: Unknown site_uuid no longer filters all data out, so overview dashboard always shows charts

This commit is contained in:
ypratama committed 2026-09-02 09:23:38 +07:00
1 parent 450a8a5daa
commit 856acdb6da
3 files changed
+25 -11

No files matched your search

+4 -4
View File
@@ -45,8 +45,9 @@ export function Sidebar({ isMobile = false, onClose }: SidebarProps) {
// Role-aware site UUID logic:
// - Global roles (SUPER_ADMIN, EXECUTIVE, SOC_ANALYST, ENGINEER):
// Prioritaskan pilihan yang TERSIMPAN di localStorage.
// Hanya set dari DB jika belum ada pilihan tersimpan.
// Ini agar site switcher tidak reset ke SIAB setiap page reload.
// Jangan pakai site_uuid dari DB — untuk role global nilainya bisa
// placeholder (mis. 'test-site') yang bukan site asli, sehingga
// dashboard ikut terfilter kosong. Default yang aman adalah 'all'.
// - Restricted roles (TENANT_ADMIN, AGENT_VIEWER, COMPANY_*):
// Selalu pakai site_uuid dari DB (mereka tidak bisa ganti site).
const globalRoles = ['SUPER_ADMIN', 'EXECUTIVE', 'SOC_ANALYST', 'ENGINEER'];
@@ -54,8 +55,7 @@ export function Sidebar({ isMobile = false, onClose }: SidebarProps) {
const storedSiteUuid = localStorage.getItem('backone_site_uuid');
if (isGlobalRole) {
// Pakai localStorage jika sudah ada, fallback ke DB, fallback ke SIAB default
const siteToUse = storedSiteUuid || data.user.site_uuid || 'all';
const siteToUse = storedSiteUuid || 'all';
localStorage.setItem('backone_site_uuid', siteToUse);
setSelectedSite(siteToUse);
} else if (data.user.site_uuid) {