/* ═══════════════════════════════════════════════════════════
7. CARD BUILDERS (sidebar)
═══════════════════════════════════════════════════════════ */
const Card = {
_acts:(ln,id)=>`
`,
spbu(r){ const clr=CFG.spbu.color(r),bdg=CFG.spbu.badge(r);
return `
${H.esc(r.nama)}${bdg.t}
WA${H.esc(r.wa||'-')}
BBM${H.esc(r.jenis_bbm||'-')}
${this._acts('spbu',r.id)}
`; },
jalan(r){ const clr=CFG.jalan.color(r),bdg=CFG.jalan.badge(r);
return `
${H.esc(r.nama)}${bdg.t}
Panjang${H.fmDist(r.panjang)}
Kondisi${H.esc(r.kondisi||'-')}
${this._acts('jalan',r.id)}
`; },
parsil(r){ const clr=CFG.parsil.color(r),bdg=CFG.parsil.badge(r);
return `
${H.esc(r.nama)}${bdg.t}
Luas${H.fmArea(r.luas)}
Sengketa${H.esc(r.sengketa||'-')}
${this._acts('parsil',r.id)}
`; },
warga(r){ const clr=CFG.warga.color(r),bdg=CFG.warga.badge(r);
const pendapatan=r.pendapatan?'Rp '+parseInt(r.pendapatan).toLocaleString('id-ID'):'-';
const histCount=r.history_bansos?.length||0;
return `
${H.esc(r.nama)}${bdg.t}
Anggota${r.jml_anggota||'-'} jiwa
Pendapatan${pendapatan}
Bansos${H.esc(r.bansos||'-')}
Riwayat${histCount} program
${this._acts('warga',r.id)}
`; },
rumahIbadah(r){ const clr=CFG.rumahIbadah.color(r),bdg=CFG.rumahIbadah.badge(r);
return `
${H.esc(r.nama)}${bdg.t}
Ketua${H.esc(r.ketua||'-')}
Binaan${r.jml_binaan||'-'} KK
${this._acts('rumahIbadah',r.id)}
`; },
};