diff --git a/WebGISPovertyMap/script.js b/WebGISPovertyMap/script.js
index 8dce2c0..e97251c 100644
--- a/WebGISPovertyMap/script.js
+++ b/WebGISPovertyMap/script.js
@@ -61,78 +61,6 @@ var rumahIbadahIcon = L.divIcon({
popupAnchor: [0, -38]
});
-// Leaflet Draw toolbar removed
-
-// ==========================================
-// 3. FUNGSI LOAD DATA DARI DATABASE
-// ==========================================
-
-/*
-function loadBatasKota() {
- batasKotaLayer.clearLayers();
- var grupKecamatan = {};
- fetch('adminKecamatan.json')
- .then(res => res.json())
- .then(data => {
- L.geoJSON(data, {
- style: function () {
- return { color: "#00FF00", weight: 2, opacity: 1, fillOpacity: 0.1 };
- },
- onEachFeature: function (feature, layer) {
- var namaKec = feature.properties.Ket;
- var popupHTML = `
-
`;
- layer.bindPopup(popupHTML);
- if (!grupKecamatan[namaKec]) grupKecamatan[namaKec] = L.featureGroup();
- grupKecamatan[namaKec].addLayer(layer);
- }
- }).addTo(batasKotaLayer);
- })
- .catch(e => console.log('Gagal memuat adminKecamatan.json', e));
-}
-
-function loadSungai() {
- sungaiLayer.clearLayers();
- fetch('sungai.json')
- .then(res => res.json())
- .then(data => {
- L.geoJSON(data, {
- style: function () {
- return { color: "#0ea5e9", weight: 2, opacity: 1, fillOpacity: 0.1 };
- },
- onEachFeature: function (feature, layer) {
- var namaSung = feature.properties.Ket;
- var popupHTML = `
- `;
- layer.bindPopup(popupHTML);
- }
- }).addTo(sungaiLayer);
- })
- .catch(e => console.log('Gagal memuat sungai.json', e));
-}
-*/
var databasePendudukMiskin = [];
function loadRumahIbadah() {
@@ -390,174 +318,7 @@ map.on('click', function () {
loadRumahIbadah();
-// SPBU & draw-related globals removed
-// ==========================================
-// 4. EVENT SAAT MENGGAMBAR SELESAI
-// ==========================================
-/*
-map.on(L.Draw.Event.CREATED, function (e) {
- var type = e.layerType, layer = e.layer;
- var geojson = layer.toGeoJSON();
- koordinatSementara = JSON.stringify(geojson.geometry);
- var popupContent = "";
-
- if (type === 'polyline') {
- var panjangMeter = turf.length(geojson, { units: 'meters' }).toFixed(2);
- popupContent = `
- `;
- } else if (type === 'polygon') {
- var luasMeter = turf.area(geojson).toFixed(2);
- popupContent = `
- `;
- } else if (type === 'marker') {
- tempLat = layer.getLatLng().lat;
- tempLng = layer.getLatLng().lng;
- popupContent = `
- `;
- }
-
- layer.bindPopup(popupContent).openPopup();
- drawnItems.addLayer(layer);
-});
-*/
-
-/*
-// ==========================================
-// 6. FUNGSI SIMPAN DATA
-// ==========================================
-function saveSPBU(e) {
- e.preventDefault();
- var formData = new FormData();
- formData.append('nama_spbu', document.getElementById('new_nama').value);
- formData.append('no_hp', document.getElementById('new_nohp').value);
- formData.append('kategori', document.getElementById('new_kategori').value);
- formData.append('latitude', tempLat);
- formData.append('longitude', tempLng);
- fetch('save.php', { method: 'POST', body: formData })
- .then(r => r.text()).then(res => { alert(res); map.closePopup(); drawnItems.clearLayers(); loadSPBU(); })
- .catch(error => console.error('Error:', error));
-}
-
-function saveJalan(e) {
- e.preventDefault();
- var formData = new FormData();
- formData.append('nama_jalan', document.getElementById('j_nama').value);
- formData.append('status', document.getElementById('j_status').value);
- formData.append('panjang', document.getElementById('j_panjang').value);
- formData.append('koordinat', koordinatSementara);
- fetch('save_jalan.php', { method: 'POST', body: formData })
- .then(r => r.text()).then(res => { alert(res); map.closePopup(); drawnItems.clearLayers(); loadJalan(); })
- .catch(error => console.error('Error:', error));
-}
-
-function saveParsil(e) {
- e.preventDefault();
- var formData = new FormData();
- formData.append('nama_pemilik', document.getElementById('p_nama').value);
- formData.append('status', document.getElementById('p_status').value);
- formData.append('luas', document.getElementById('p_luas').value);
- formData.append('koordinat', koordinatSementara);
- fetch('save_parsil.php', { method: 'POST', body: formData })
- .then(r => r.text()).then(res => { alert(res); map.closePopup(); drawnItems.clearLayers(); loadParsil(); })
- .catch(error => console.error('Error:', error));
-}
-
-function toggleFormMarker() {
- var pilihan = document.getElementById('kategori_marker').value;
- document.getElementById('form_spbu').style.display = pilihan === 'spbu' ? 'block' : 'none';
- document.getElementById('form_rumah_ibadah').style.display = pilihan === 'rumah_ibadah' ? 'block' : 'none';
- document.getElementById('form_penduduk').style.display = pilihan === 'penduduk' ? 'block' : 'none';
-}
-
-function saveRumahIbadah(e) {
- e.preventDefault();
- var formData = new FormData();
- formData.append('nama', document.getElementById('ri_nama').value);
- formData.append('latitude', tempLat);
- formData.append('longitude', tempLng);
- fetch('save_rumah_ibadah.php', { method: 'POST', body: formData })
- .then(r => r.text()).then(res => { alert(res); map.closePopup(); drawnItems.clearLayers(); loadRumahIbadah(); })
- .catch(error => console.error('Error:', error));
-}
-
-function savePenduduk(e) {
- e.preventDefault();
- var formData = new FormData();
- formData.append('nama', document.getElementById('pm_nama').value);
- formData.append('latitude', tempLat);
- formData.append('longitude', tempLng);
- fetch('save_penduduk_miskin.php', { method: 'POST', body: formData })
- .then(r => r.text()).then(res => { alert(res); map.closePopup(); drawnItems.clearLayers(); loadRumahIbadah(); })
- .catch(error => console.error('Error:', error));
-}
-*/
// ==========================================
// 7. HAPUS DATA
@@ -609,9 +370,12 @@ function formEditPenduduk(id, nama, alamat, statusBantuan, lat, lng) {
Rumah Ibadah
- Penduduk Miskin
+ Penduduk Miskin (Sudah Menerima)
+ Penduduk Miskin (Belum Menerima)
`;
return div;
};
diff --git a/WebGISPovertyMap/style.css b/WebGISPovertyMap/style.css
index 1f98f7d..20a1917 100644
--- a/WebGISPovertyMap/style.css
+++ b/WebGISPovertyMap/style.css
@@ -602,7 +602,7 @@ body {
.info-label {
font-weight: 600;
- color: var(--text-muted);
+ color: var(--text-secondary);
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.8px;
@@ -613,7 +613,7 @@ body {
.info-value {
font-size: 13px;
font-weight: 500;
- color: var(--text-primary);
+ color: var(--text-muted);
}
/* Popup form inputs */
@@ -2183,6 +2183,7 @@ body {
border-color: rgba(16, 185, 129, 0.2);
background: rgba(16, 185, 129, 0.03);
}
+
.stat-card.stat-success .stat-num {
color: #10b981;
}
@@ -2191,6 +2192,7 @@ body {
border-color: rgba(239, 68, 68, 0.2);
background: rgba(239, 68, 68, 0.03);
}
+
.stat-card.stat-danger .stat-num {
color: #ef4444;
}
@@ -2315,6 +2317,7 @@ body {
.marker-cluster-small {
background-color: rgba(59, 130, 246, 0.4) !important;
}
+
.marker-cluster-small div {
background-color: rgba(37, 99, 235, 0.95) !important;
color: white !important;
@@ -2324,6 +2327,7 @@ body {
.marker-cluster-medium {
background-color: rgba(37, 99, 235, 0.4) !important;
}
+
.marker-cluster-medium div {
background-color: rgba(29, 78, 216, 0.95) !important;
color: white !important;
@@ -2333,6 +2337,7 @@ body {
.marker-cluster-large {
background-color: rgba(30, 58, 138, 0.4) !important;
}
+
.marker-cluster-large div {
background-color: rgba(30, 64, 175, 0.95) !important;
color: white !important;
@@ -2343,4 +2348,33 @@ body {
font-family: var(--font-mono) !important;
font-size: 12px !important;
box-shadow: 0 0 10px rgba(37, 99, 235, 0.5) !important;
+}
+
+/* Menghapus padding agar header hijau bisa mentok ke atas dan samping */
+.leaflet-popup-content-wrapper {
+ padding: 0 !important;
+ border-radius: 12px !important;
+ overflow: hidden !important;
+ /* Agar sudut tetap melengkung walau header mentok */
+ background-color: #1e2130 !important;
+ /* Warna gelap utama body popup */
+ border: none !important;
+}
+
+/* Menghapus margin bawaan konten */
+.leaflet-popup-content {
+ margin: 0 !important;
+ width: 280px !important;
+ /* Sesuaikan lebar popup */
+}
+
+/* Mengubah warna panah di bawah popup agar menyatu dengan body */
+.leaflet-popup-tip {
+ background-color: #1e2130 !important;
+}
+
+/* Menyesuaikan tombol silang (close/x) bawaan Leaflet */
+.leaflet-popup-close-button {
+ color: #ffffff !important;
+ padding: 4px 8px !important;
}
\ No newline at end of file