Initial commit

This commit is contained in:
cw
2026-06-11 12:30:23 +07:00
commit 2676f3a61c
70 changed files with 9867 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8"><title>403 Akses Ditolak SINERGI</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="<?= APP_URL ?>/public/css/app.css">
</head>
<body style="background:var(--clr-bg);display:flex;align-items:center;justify-content:center;min-height:100vh">
<div style="text-align:center;padding:40px">
<div style="font-size:5rem">🚫</div>
<h1 style="font-size:4rem;font-weight:900;color:var(--clr-danger);margin:8px 0">403</h1>
<h2 style="font-size:1.3rem;font-weight:700;margin-bottom:8px">Akses Ditolak</h2>
<p style="color:var(--clr-text-muted);margin-bottom:24px">Anda tidak memiliki izin untuk mengakses halaman ini.</p>
<div style="display:flex;gap:12px;justify-content:center">
<a href="<?= APP_URL ?>/login" class="btn btn-primary">Login dengan Akun Lain</a>
<a href="<?= APP_URL ?>/" class="btn btn-ghost">Ke Beranda</a>
</div>
</div>
</body>
</html>
+17
View File
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8"><title>404 SINERGI</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="<?= APP_URL ?>/public/css/app.css">
</head>
<body style="background:var(--clr-bg);display:flex;align-items:center;justify-content:center;min-height:100vh">
<div style="text-align:center;padding:40px">
<div style="font-size:5rem">🗺</div>
<h1 style="font-size:4rem;font-weight:900;color:var(--clr-primary);margin:8px 0">404</h1>
<h2 style="font-size:1.3rem;font-weight:700;margin-bottom:8px">Halaman Tidak Ditemukan</h2>
<p style="color:var(--clr-text-muted);margin-bottom:24px">Halaman yang Anda cari tidak ada atau sudah dipindahkan.</p>
<a href="<?= APP_URL ?>/" class="btn btn-primary"> Kembali ke Beranda</a>
</div>
</body>
</html>
+91
View File
@@ -0,0 +1,91 @@
<!-- HERO -->
<div class="public-hero">
<div style="font-size:3.5rem;margin-bottom:12px">🗺</div>
<h1>SINERGI</h1>
<p>Sistem Informasi Geografis Penanganan Kemiskinan Berbasis Kolaborasi Rumah Ibadah, Masyarakat, dan Pemerintah Kota Pontianak</p>
<div style="margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap">
<a href="<?= APP_URL ?>/lapor" style="background:var(--clr-accent);color:var(--clr-primary-d);padding:12px 28px;border-radius:8px;font-weight:700;font-size:1rem;text-decoration:none">📝 Lapor Warga Membutuhkan</a>
<a href="<?= APP_URL ?>/cek-laporan" style="background:rgba(255,255,255,0.12);color:#fff;padding:12px 28px;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;border:1px solid rgba(255,255,255,0.2)">🔍 Cek Status Laporan</a>
</div>
</div>
<!-- STATS -->
<div class="public-container" style="margin-top:-40px">
<div style="display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:40px">
<?php $sItems = [
['👥', number_format($stats['total_warga']??0), 'Warga Terdata'],
['⛪', number_format($stats['total_ri']??0), 'Rumah Ibadah'],
['📋', number_format($stats['total_laporan']??0), 'Total Laporan'],
['📦', number_format($stats['total_bantuan']??0), 'Bantuan Disalurkan'],
]; foreach($sItems as [$icon,$val,$label]): ?>
<div style="background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,0.08);border:1px solid var(--clr-border)">
<div style="font-size:2rem"><?= $icon ?></div>
<div style="font-size:1.6rem;font-weight:800;color:var(--clr-primary);margin-top:4px"><?= $val ?></div>
<div style="font-size:0.78rem;color:var(--clr-text-muted)"><?= $label ?></div>
</div>
<?php endforeach; ?>
<div style="background:var(--clr-primary);border-radius:12px;padding:20px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,0.15)">
<div style="font-size:2rem">🏛</div>
<div style="font-size:0.9rem;font-weight:700;color:#fff;margin-top:8px">Kota Pontianak</div>
<div style="font-size:0.72rem;color:rgba(255,255,255,0.6)">6 Kecamatan</div>
</div>
</div>
</div>
<!-- PETA PUBLIK -->
<div class="public-container" style="margin-bottom:48px">
<h2 style="font-size:1.4rem;font-weight:800;color:var(--clr-text);margin-bottom:8px">Peta Persebaran Kemiskinan</h2>
<p style="color:var(--clr-text-muted);margin-bottom:16px;font-size:0.9rem">Data real-time persebaran warga miskin dan rumah ibadah di Kota Pontianak</p>
<div style="border-radius:16px;overflow:hidden;border:1px solid var(--clr-border);box-shadow:0 8px 32px rgba(0,0,0,0.1);position:relative">
<div id="public-map" style="height:460px"></div>
<div class="map-legend">
<h4>Keterangan</h4>
<div class="map-legend-item"><div class="map-legend-dot legend-dot-ekstrem"></div> Miskin Ekstrem</div>
<div class="map-legend-item"><div class="map-legend-dot legend-dot-miskin"></div> Miskin</div>
<div class="map-legend-item"><div class="map-legend-dot legend-dot-rentan"></div> Rentan Miskin</div>
<div class="map-legend-item"><div class="map-legend-dot legend-dot-ri"></div> Rumah Ibadah</div>
</div>
</div>
</div>
<!-- CARA MELAPOR -->
<div style="background:#f8fafc;padding:60px 0">
<div class="public-container">
<h2 style="text-align:center;font-size:1.4rem;font-weight:800;margin-bottom:8px">Cara Melapor</h2>
<p style="text-align:center;color:var(--clr-text-muted);margin-bottom:36px">Mudah dan cepat, tanpa perlu daftar atau login</p>
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:24px">
<?php $steps = [
['1','📝','Isi Formulir','Isi nama warga, alamat, dan kondisi yang dialami'],
['2','📷','Upload Foto','Unggah foto kondisi tempat tinggal (opsional)'],
['3','📍','Tandai Lokasi','Pilih lokasi tepat pada peta interaktif'],
['4','✅','Kirim Laporan','Simpan kode laporan untuk memantau status'],
]; foreach($steps as [$num,$icon,$title,$desc]): ?>
<div style="text-align:center;padding:24px 16px">
<div style="width:52px;height:52px;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto 12px">
<?= $icon ?>
</div>
<div style="font-size:0.72rem;font-weight:700;color:var(--clr-accent);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:4px">Langkah <?= $num ?></div>
<div style="font-weight:700;margin-bottom:6px"><?= $title ?></div>
<div style="font-size:0.82rem;color:var(--clr-text-muted)"><?= $desc ?></div>
</div>
<?php endforeach; ?>
</div>
<div style="text-align:center;margin-top:28px">
<a href="<?= APP_URL ?>/lapor" style="background:var(--clr-primary);color:#fff;padding:13px 32px;border-radius:8px;font-weight:700;font-size:1rem;text-decoration:none;display:inline-block">📝 Mulai Melapor Sekarang</a>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', async () => {
const map = GISMap.init('public-map', <?= MAP_DEFAULT_LAT ?>, <?= MAP_DEFAULT_LNG ?>, 12);
const [wArgaData, riData] = await Promise.all([
App.fetchJSON('<?= APP_URL ?>/api/warga-peta'),
App.fetchJSON('<?= APP_URL ?>/api/rumah-ibadah')
]);
if(wArgaData) GISMap.addWargaLayer(wArgaData);
if(riData) GISMap.addRILayer(riData);
// Auto zoom ke seluruh Kota Pontianak setelah marker dimuat
GISMap.autoFitBounds();
});
</script>
+102
View File
@@ -0,0 +1,102 @@
<!-- CEK STATUS LAPORAN -->
<div style="background:linear-gradient(135deg,var(--clr-primary-d),var(--clr-primary));color:#fff;padding:40px 32px;text-align:center">
<h1 style="font-size:1.8rem;font-weight:800">🔍 Cek Status Laporan</h1>
<p style="color:rgba(255,255,255,0.75)">Masukkan kode laporan yang Anda terima saat mengirim laporan</p>
</div>
<div class="public-container" style="padding-top:36px;padding-bottom:60px;max-width:600px">
<?= flashMessage() ?>
<div class="card" style="margin-bottom:24px">
<div class="card-body">
<form method="POST" action="<?= APP_URL ?>/cek-laporan">
<?= csrfField() ?>
<div style="display:flex;gap:12px">
<input type="text" name="kode_laporan" class="form-control"
placeholder="Contoh: LPR-20240501-0001" required
value="<?= e($kode ?? '') ?>" style="font-family:monospace;font-weight:600;letter-spacing:0.05em">
<button type="submit" class="btn btn-primary" style="white-space:nowrap">🔍 Cek</button>
</div>
</form>
</div>
</div>
<?php if (isset($laporan) && !$laporan && isset($kode) && $kode): ?>
<div class="card">
<div class="card-body" style="text-align:center;padding:40px">
<div style="font-size:3rem">❓</div>
<h3 style="margin:12px 0 6px">Laporan Tidak Ditemukan</h3>
<p style="color:var(--clr-text-muted)">Kode laporan <strong><?= e($kode) ?></strong> tidak ditemukan. Pastikan kode sudah benar.</p>
</div>
</div>
<?php elseif (isset($laporan) && $laporan): ?>
<div class="card">
<div class="card-header"><span class="card-icon">📋</span><h3>Hasil Pencarian</h3></div>
<div class="card-body">
<!-- Status Bar -->
<?php
$steps = ['menunggu'=>1,'diproses'=>2,'terverifikasi'=>3,'ditolak'=>-1];
$cur = $steps[$laporan['status']] ?? 1;
$colors = ['menunggu'=>'#d97706','diproses'=>'#0284c7','terverifikasi'=>'#16a34a','ditolak'=>'#dc2626'];
$icons = ['menunggu'=>'⏳','diproses'=>'🔄','terverifikasi'=>'✅','ditolak'=>'❌'];
?>
<div style="text-align:center;margin-bottom:24px">
<div style="font-size:2.5rem;margin-bottom:8px"><?= $icons[$laporan['status']] ?? '❓' ?></div>
<div style="font-size:1.1rem;font-weight:800;color:<?= $colors[$laporan['status']] ?? '#6b7280' ?>">
<?= ucfirst($laporan['status']) ?>
</div>
<div style="font-size:0.82rem;color:var(--clr-text-muted);margin-top:4px">
Kode: <strong style="font-family:monospace"><?= e($laporan['kode_laporan']) ?></strong>
</div>
</div>
<?php if ($laporan['status'] !== 'ditolak'): ?>
<!-- Progress Steps -->
<div style="display:flex;align-items:center;gap:0;margin-bottom:24px">
<?php $stepLabels = ['Laporan Dikirim','Sedang Diproses','Terverifikasi']; ?>
<?php foreach ($stepLabels as $i => $sl): ?>
<div style="flex:1;text-align:center">
<div style="width:32px;height:32px;border-radius:50%;margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;
background:<?= $i+1<=$cur?'var(--clr-success)':'#e2e8f0' ?>;
color:<?= $i+1<=$cur?'#fff':'#94a3b8' ?>">
<?= $i+1<=$cur?'✓':($i+1) ?>
</div>
<div style="font-size:0.72rem;color:<?= $i+1<=$cur?'var(--clr-success)':'#94a3b8' ?>;font-weight:<?= $i+1<=$cur?'600':'400' ?>">
<?= $sl ?>
</div>
</div>
<?php if ($i < 2): ?>
<div style="flex:1;height:2px;background:<?= $i+1<$cur?'var(--clr-success)':'#e2e8f0' ?>;margin-bottom:20px"></div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>
<!-- Detail -->
<div style="display:grid;gap:10px">
<?php $rows = [
['Nama Warga', $laporan['nama_warga']],
['Wilayah', ($laporan['kelurahan']??'').", ".($laporan['kecamatan']??'')],
['Tanggal Laporan', formatTanggal($laporan['created_at'],true)],
['Tanggal Verifikasi', $laporan['tanggal_verifikasi'] ? formatTanggal($laporan['tanggal_verifikasi'],true) : '—'],
]; foreach($rows as [$l,$v]): ?>
<div style="display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9">
<div style="font-size:0.8rem;color:var(--clr-text-muted);min-width:130px"><?= $l ?></div>
<div style="font-size:0.875rem;font-weight:500"><?= e($v) ?></div>
</div>
<?php endforeach; ?>
<?php if ($laporan['catatan_verifikator']): ?>
<div style="margin-top:8px;padding:12px;background:#f8fafc;border-radius:8px;border-left:3px solid var(--clr-primary)">
<div style="font-size:0.75rem;color:var(--clr-text-muted);margin-bottom:4px">Catatan Petugas:</div>
<div style="font-size:0.875rem"><?= nl2br(e($laporan['catatan_verifikator'])) ?></div>
</div>
<?php endif; ?>
</div>
</div>
</div>
<?php endif; ?>
<div style="margin-top:20px;text-align:center">
<a href="<?= APP_URL ?>/lapor" style="color:var(--clr-text-muted);font-size:0.85rem">Buat laporan baru →</a>
</div>
</div>
+21
View File
@@ -0,0 +1,21 @@
<div class="public-hero" style="padding:50px 32px">
<h1 style="font-size:1.8rem;font-weight:800">📞 Kontak</h1>
<p style="color:rgba(255,255,255,0.75)">Hubungi kami untuk informasi lebih lanjut tentang SINERGI</p>
</div>
<div class="public-container" style="padding:48px 24px">
<div style="display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:800px;margin:0 auto">
<div class="card"><div class="card-body">
<div style="font-size:2rem;margin-bottom:10px">🏛</div>
<h3 style="font-weight:700;margin-bottom:8px">Dinas Sosial Kota Pontianak</h3>
<p style="font-size:0.85rem;color:var(--clr-text-muted)">📍 Jl. Gusti Sulung Lelanang No. 1B Pontianak Selatan, Darat Sekip, Kec. Pontianak Kota, Kota Pontianak, Kalimantan Barat 78116</p>
<p style="font-size:0.85rem;color:var(--clr-text-muted)">📞 (0561) 8108 969</p>
<p style="font-size:0.85rem;color:var(--clr-primary-l)"> dinsos@pontianak.go.id</p>
</div></div>
<div class="card"><div class="card-body">
<div style="font-size:2rem;margin-bottom:10px">🌐</div>
<h3 style="font-weight:700;margin-bottom:8px">Pemerintah Kota Pontianak</h3>
<p style="font-size:0.85rem;color:var(--clr-text-muted)">📞 (0561) 8181771</p>
<p style="font-size:0.85rem;color:var(--clr-primary-l)">🌐 www.pontianak.go.id</p>
</div></div>
</div>
</div>
+175
View File
@@ -0,0 +1,175 @@
<?php
$_mapLat = MAP_DEFAULT_LAT;
$_mapLng = MAP_DEFAULT_LNG;
$_appUrl = APP_URL;
$extraJs = <<<JS
<script>
document.addEventListener('DOMContentLoaded', () => {
LocationPicker.init('lapor-map','lat','lng', {$_mapLat}, {$_mapLng});
// Load kecamatan → kelurahan
document.getElementById('kecamatan').addEventListener('change', async function() {
const id = this.value;
const sel = document.getElementById('id_kelurahan');
sel.innerHTML = '<option value="">— Memuat... —</option>';
if (!id) { sel.innerHTML = '<option value="">— Pilih Kelurahan —</option>'; return; }
const data = await App.fetchJSON('{$_appUrl}/api/kelurahan/' + id);
sel.innerHTML = '<option value="">— Pilih Kelurahan —</option>';
if (data) data.forEach(k => {
sel.innerHTML += '<option value="' + k.id + '">' + k.nama + '</option>';
});
});
});
</script>
JS;
?>
<!-- Hero kecil -->
<div style="background:linear-gradient(135deg,var(--clr-primary-d),var(--clr-primary));color:#fff;padding:40px 32px;text-align:center">
<h1 style="font-size:1.8rem;font-weight:800">📝 Lapor Cepat</h1>
<p style="color:rgba(255,255,255,0.75);margin-top:6px">Laporkan warga yang membutuhkan bantuan — gratis, mudah, tanpa login</p>
</div>
<div class="public-container" style="padding-top:36px;padding-bottom:60px">
<?= flashMessage() ?>
<?php
// Kode laporan dari flash — ditampilkan sebagai card permanen (tidak auto-dismiss)
$kodeLaporan = $GLOBALS['_flash_kode_laporan'] ?? null;
?>
<?php if ($kodeLaporan): ?>
<div style="background:#f0fdf4;border:2px solid #22c55e;border-radius:12px;padding:28px;margin-bottom:28px;text-align:center">
<div style="font-size:1rem;color:#15803d;font-weight:600;margin-bottom:10px">✅ Laporan Berhasil Dikirim!</div>
<div style="font-size:0.85rem;color:#166534;margin-bottom:14px">Simpan kode berikut untuk memantau status laporan Anda</div>
<div style="display:inline-block;background:#fff;border:2px dashed #22c55e;border-radius:10px;padding:14px 36px;margin-bottom:16px">
<div style="font-size:0.75rem;color:#6b7280;margin-bottom:4px;letter-spacing:1px;text-transform:uppercase">Kode Laporan</div>
<div style="font-size:2rem;font-weight:900;letter-spacing:6px;color:#15803d;font-family:monospace"><?= e($kodeLaporan) ?></div>
</div>
<br>
<button type="button"
onclick="navigator.clipboard.writeText('<?= e($kodeLaporan) ?>').then(()=>{this.textContent='✅ Tersalin!';this.style.background='#15803d';setTimeout(()=>{this.textContent='📋 Salin Kode';this.style.background='';},2000);})"
class="btn btn-primary btn-sm" style="margin-right:8px">📋 Salin Kode</button>
<a href="<?= APP_URL ?>/cek-laporan?kode=<?= urlencode($kodeLaporan) ?>" class="btn btn-secondary btn-sm">🔍 Cek Status</a>
</div>
<?php endif; ?>
<div style="display:grid;grid-template-columns:1fr 380px;gap:28px">
<!-- FORM -->
<div>
<form method="POST" action="<?= APP_URL ?>/lapor" enctype="multipart/form-data">
<?= csrfField() ?>
<div class="card" style="margin-bottom:20px">
<div class="card-header"><span class="card-icon">👤</span><h3>Data Pelapor</h3></div>
<div class="card-body">
<div class="form-row cols-2">
<div class="form-group">
<label class="form-label">Nama Pelapor <span class="required">*</span></label>
<input type="text" name="nama_pelapor" class="form-control" required placeholder="Nama lengkap Anda">
</div>
<div class="form-group">
<label class="form-label">No. HP (WhatsApp)</label>
<input type="text" name="no_hp_pelapor" class="form-control" placeholder="08xxxxxxxxxx">
</div>
</div>
</div>
</div>
<div class="card" style="margin-bottom:20px">
<div class="card-header"><span class="card-icon">🏠</span><h3>Data Warga yang Dilaporkan</h3></div>
<div class="card-body">
<div class="form-group">
<label class="form-label">Nama Warga <span class="required">*</span></label>
<input type="text" name="nama_warga" class="form-control" required placeholder="Nama lengkap warga yang membutuhkan bantuan">
</div>
<div class="form-row cols-2">
<div class="form-group">
<label class="form-label">Kecamatan <span class="required">*</span></label>
<select id="kecamatan" class="form-control" required>
<option value="">— Pilih Kecamatan —</option>
<?php foreach($kecamatan as $k): ?>
<option value="<?= $k['id'] ?>"><?= e($k['nama']) ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label class="form-label">Kelurahan <span class="required">*</span></label>
<select name="id_kelurahan" id="id_kelurahan" class="form-control" required>
<option value="">— Pilih Kelurahan —</option>
</select>
</div>
</div>
<div class="form-group">
<label class="form-label">Alamat Lengkap <span class="required">*</span></label>
<textarea name="alamat_warga" class="form-control" rows="2" required placeholder="Nama jalan, nomor rumah, RT/RW"></textarea>
</div>
<div class="form-group">
<label class="form-label">Deskripsi Kondisi <span class="required">*</span></label>
<textarea name="deskripsi" class="form-control" rows="3" required placeholder="Ceritakan kondisi warga, mengapa membutuhkan bantuan, kondisi rumah, dll."></textarea>
</div>
<div class="form-group">
<label class="form-label">Foto Kondisi (Opsional)</label>
<input type="file" name="foto" class="form-control" accept="image/*">
<div class="form-hint">Foto rumah atau kondisi warga membantu proses verifikasi</div>
</div>
</div>
</div>
<div class="card" style="margin-bottom:20px">
<div class="card-header"><span class="card-icon">📍</span><h3>Lokasi Rumah Warga</h3></div>
<div class="card-body">
<div id="lapor-map" style="height:300px;border-radius:8px;border:1px solid var(--clr-border);margin-bottom:12px"></div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px">
<div class="form-group">
<label class="form-label">Latitude <span class="required">*</span></label>
<input type="number" name="lat" id="lat" class="form-control" step="0.0000001" required placeholder="-0.0263">
</div>
<div class="form-group">
<label class="form-label">Longitude <span class="required">*</span></label>
<input type="number" name="lng" id="lng" class="form-control" step="0.0000001" required placeholder="109.3425">
</div>
</div>
<div class="form-hint">📌 Klik pada peta atau drag marker untuk menentukan lokasi rumah warga secara tepat</div>
</div>
</div>
<button type="submit" class="btn btn-primary w-full" style="padding:13px;font-size:1rem;justify-content:center">
📤 Kirim Laporan
</button>
<div style="margin-top:10px;text-align:center;font-size:0.8rem;color:var(--clr-text-muted)">
Laporan akan diverifikasi oleh petugas. Simpan kode laporan untuk memantau status.
</div>
</form>
</div>
<!-- SIDEBAR INFO -->
<div>
<div class="card" style="position:sticky;top:80px">
<div class="card-header"><span class="card-icon">️</span><h3>Informasi Penting</h3></div>
<div class="card-body" style="display:flex;flex-direction:column;gap:16px">
<div style="padding:14px;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0">
<div style="font-weight:700;color:var(--clr-success);margin-bottom:6px">✅ Apa yang terjadi setelah laporan?</div>
<ol style="margin:0;padding-left:18px;font-size:0.82rem;color:#166534;line-height:2">
<li>Laporan diterima dan diberi kode unik</li>
<li>Verifikator kelurahan melakukan survei</li>
<li>Data masuk sistem pemetaan GIS</li>
<li>Rumah ibadah terdekat mendapat notifikasi</li>
<li>Bantuan disalurkan sesuai prioritas</li>
</ol>
</div>
<div style="padding:14px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe">
<div style="font-weight:700;color:var(--clr-info);margin-bottom:6px">📱 Cek Status Laporan</div>
<div style="font-size:0.82rem;color:#1e40af">Simpan kode laporan yang diberikan setelah mengirim untuk memantau status verifikasi.</div>
<a href="<?= APP_URL ?>/cek-laporan" class="btn btn-primary btn-sm" style="margin-top:10px">🔍 Cek Status</a>
</div>
<div style="padding:14px;background:#fef9c3;border-radius:8px;border:1px solid #fde047">
<div style="font-weight:700;color:#a16207;margin-bottom:6px">⚠️ Peringatan</div>
<div style="font-size:0.82rem;color:#854d0e">Laporan yang tidak akurat atau laporan palsu akan ditolak. Isi data dengan benar dan jujur.</div>
</div>
</div>
</div>
</div>
</div>
</div>
+40
View File
@@ -0,0 +1,40 @@
<!-- TENTANG SISTEM -->
<div style="background:linear-gradient(135deg,var(--clr-primary-d),var(--clr-primary));color:#fff;padding:60px 32px;text-align:center">
<h1 style="font-size:2rem;font-weight:900">Tentang SINERGI</h1>
<p style="color:rgba(255,255,255,0.75);max-width:600px;margin:12px auto 0">Sistem Informasi Geografis Penanganan Kemiskinan Berbasis Kolaborasi</p>
</div>
<div class="public-container" style="padding:48px 24px">
<div style="max-width:800px;margin:0 auto">
<div style="display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px">
<div class="card"><div class="card-body">
<div style="font-size:2rem;margin-bottom:12px">🎯</div>
<h3 style="font-weight:700;margin-bottom:8px">Tujuan Sistem</h3>
<p style="color:var(--clr-text-muted);font-size:0.875rem;line-height:1.7">SINERGI dirancang untuk memetakan, memverifikasi, dan menangani kemiskinan di Kota Pontianak melalui kolaborasi antara rumah ibadah, masyarakat, dan pemerintah.</p>
</div></div>
<div class="card"><div class="card-body">
<div style="font-size:2rem;margin-bottom:12px"></div>
<h3 style="font-weight:700;margin-bottom:8px">Kolaborasi Rumah Ibadah</h3>
<p style="color:var(--clr-text-muted);font-size:0.875rem;line-height:1.7">Setiap warga miskin yang terverifikasi akan ditugaskan ke rumah ibadah terdekat menggunakan Haversine Formula untuk memastikan penyaluran bantuan tepat sasaran.</p>
</div></div>
</div>
<div class="card"><div class="card-body">
<h3 style="font-weight:700;margin-bottom:16px">Fitur Unggulan Sistem</h3>
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:16px">
<?php $fitur = [
['🗺','Peta GIS Real-time','Visualisasi persebaran kemiskinan secara real-time menggunakan Leaflet.js'],
['🔥','Heatmap Kemiskinan','Identifikasi daerah dengan konsentrasi kemiskinan tertinggi'],
['⚡','Blind Spot Detection','Deteksi otomatis warga yang tidak terjangkau radius rumah ibadah'],
['📊','Skor Prioritas','Algoritma penilaian prioritas bantuan berdasarkan 7 indikator'],
['📱','Lapor Tanpa Login','Masyarakat dapat melaporkan warga tanpa perlu mendaftar'],
['🏛','Dashboard Eksekutif','Monitoring real-time untuk Wali Kota dan Dinas Sosial'],
]; foreach($fitur as [$icon,$title,$desc]): ?>
<div style="padding:16px;background:#f8fafc;border-radius:8px;border:1px solid var(--clr-border)">
<div style="font-size:1.5rem;margin-bottom:8px"><?= $icon ?></div>
<div style="font-weight:700;font-size:0.875rem;margin-bottom:4px"><?= $title ?></div>
<div style="font-size:0.78rem;color:var(--clr-text-muted);line-height:1.5"><?= $desc ?></div>
</div>
<?php endforeach; ?>
</div>
</div></div>
</div>
</div>