/* ═══════════════════════════════════════════════════════════ 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)}
`; }, };