/* ═══════════════════════════════════════════════════════════ 11. SIDEBAR ═══════════════════════════════════════════════════════════ */ function renderSidebar(ln){ const cfg=CFG[ln]; document.getElementById('sb-title').textContent=cfg.label; document.getElementById('sb-sub').textContent=cfg.sub; const data=Store.all(ln); const list=document.getElementById('sb-list'); if(!data.length){ list.innerHTML=`

Belum ada data.
Klik Tambah untuk mulai digitasi.

`; return; } list.innerHTML=data.map(r=>Card[ln](r)).join(''); } function updateBadges(){ const db=Store.allDb(); ['spbu','jalan','parsil','warga','rumahIbadah'].forEach(k=>{ const el=document.getElementById('badge-'+k); if(el) el.textContent=db[k]?.length||0; }); const total=Object.values(db).reduce((s,a)=>s+a.length,0); document.getElementById('total-count').textContent=total+' fitur'; } function highlightCard(id){ document.querySelectorAll('.dcard').forEach(c=>c.classList.remove('active')); const c=document.getElementById('card-'+id); if(c){ c.classList.add('active'); c.scrollIntoView({behavior:'smooth',block:'nearest'}); } }