diff --git a/resources/views/map.blade.php b/resources/views/map.blade.php
index d0cd68f..592a436 100644
--- a/resources/views/map.blade.php
+++ b/resources/views/map.blade.php
@@ -475,6 +475,42 @@
+
+
+
+
+
+
+
+
+
${canEditMiskin ? `` : ''}
${canEditMiskin ? `` : ''}
@@ -1054,6 +1092,40 @@
}
}
+ // ── ANGGOTA & BANTUAN dari popup peta ──────────────────────────────────
+ async function openMapAnggotaModal(idRumah) {
+ const item = miskinData?.find(m => m.id_rumah === idRumah);
+ document.getElementById('map_anggota_label').textContent = `ID: ${idRumah} — ${item?.nama_kk || '-'}`;
+ document.getElementById('mapmodal_anggota').showModal();
+ const res = await fetch(`{{ url('/api/miskin') }}/${encodeURIComponent(idRumah)}/anggota`, { headers: { 'X-CSRF-TOKEN': csrfToken } });
+ const list = await res.json();
+ document.getElementById('map_bodyAnggota').innerHTML = list.length ? list.map(a => `
+
+ | ${esc(a.nama)} |
+ ${esc(a.hubungan.replace(/_/g, ' '))} |
+ ${a.umur !== null ? esc(String(a.umur)) + ' th' : '-'} |
+ ${a.pendidikan ? esc(a.pendidikan.replace(/_/g, ' ')) : '-'} |
+ ${esc(a.status_hidup)} |
+
`).join('')
+ : '
| Belum ada anggota |
';
+ }
+
+ async function openMapBantuanModal(idRumah) {
+ const item = miskinData?.find(m => m.id_rumah === idRumah);
+ document.getElementById('map_bantuan_label').textContent = `ID: ${idRumah} — ${item?.nama_kk || '-'}`;
+ document.getElementById('mapmodal_bantuan').showModal();
+ const res = await fetch(`{{ url('/api/miskin') }}/${encodeURIComponent(idRumah)}/bantuan`, { headers: { 'X-CSRF-TOKEN': csrfToken } });
+ const list = await res.json();
+ document.getElementById('map_bodyBantuan').innerHTML = list.length ? list.map(b => `
+
+ | ${esc(b.tanggal_bantuan)} |
+ ${esc(b.jenis_bantuan)} |
+ ${esc(b.ibadah_nama || '-')} |
+ ${esc(b.pencatat_nama)} |
+
`).join('')
+ : '
| Belum ada riwayat bantuan |
';
+ }
+
// ── NOTIFIKASI PERUBAHAN DATA ────────────────────────────────────────
(function initNotifPolling() {
const POLL_MS = 30000;