mengubah sistem menjadi lebih terfokus ke poverty
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
$page = isset($_GET['page']) ? $_GET['page'] : 'dashboard';
|
||||
$validPages = ['map', 'dashboard', 'manajemen_akun', 'daftar_pm', 'login'];
|
||||
|
||||
if (!in_array($page, $validPages)) {
|
||||
$page = 'dashboard';
|
||||
}
|
||||
|
||||
if ($page === 'login') {
|
||||
include 'pages/login.php';
|
||||
exit;
|
||||
}
|
||||
|
||||
$pageTitles = [
|
||||
'map' => 'Peta Interaktif - WebGIS Poverty Mapping',
|
||||
'dashboard' => 'Dashboard - WebGIS Poverty Mapping',
|
||||
'manajemen_akun' => 'Manajemen Akun RI - WebGIS Poverty Mapping',
|
||||
'daftar_pm' => 'Daftar Penduduk Miskin - WebGIS Poverty Mapping'
|
||||
];
|
||||
$pageTitle = $pageTitles[$page];
|
||||
|
||||
// Tentukan CSS spesifik halaman
|
||||
$pageCss = null;
|
||||
if ($page === 'map') $pageCss = 'css/map.css';
|
||||
if ($page === 'dashboard') $pageCss = 'css/pages/dashboard.css';
|
||||
if ($page === 'manajemen_akun') $pageCss = 'css/pages/manajemen_akun.css';
|
||||
if ($page === 'daftar_pm') $pageCss = 'css/pages/daftar_pm.css';
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="id">
|
||||
<head>
|
||||
<?php include 'components/head.php'; ?>
|
||||
|
||||
<?php if ($page === 'map') { ?>
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" />
|
||||
<?php } else if ($page === 'dashboard') { ?>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>
|
||||
<?php } ?>
|
||||
</head>
|
||||
|
||||
<?php
|
||||
// Map page gets its own body class for full-screen layout
|
||||
$bodyClass = ($page === 'map') ? 'page-map' : 'page-dashboard';
|
||||
?>
|
||||
<body class="<?= $bodyClass ?>">
|
||||
|
||||
<!-- Fixed left sidebar -->
|
||||
<?php include 'components/sidebar.php'; ?>
|
||||
|
||||
<!-- Main content area (offset by sidebar width via CSS) -->
|
||||
<div class="main-content-area">
|
||||
<?php if ($page === 'map') { ?>
|
||||
<?php include 'pages/map.php'; ?>
|
||||
<?php } else { ?>
|
||||
<div class="dashboard-wrapper">
|
||||
<?php include 'pages/' . $page . '.php'; ?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<!-- Global overlays & scripts -->
|
||||
<?php include 'components/scripts.php'; ?>
|
||||
|
||||
<!-- Page-specific scripts -->
|
||||
<?php if ($page === 'dashboard') { ?>
|
||||
<script src="js/pages/dashboard.js"></script>
|
||||
<?php } else if ($page === 'manajemen_akun') { ?>
|
||||
<script src="js/pages/manajemen_akun.js"></script>
|
||||
<?php } else if ($page === 'daftar_pm') { ?>
|
||||
<script src="js/features/log-bantuan.js"></script>
|
||||
<script src="js/pages/daftar_pm.js"></script>
|
||||
<?php } else if ($page === 'map') { ?>
|
||||
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js"></script>
|
||||
<script src="js/features/map-panels.js"></script>
|
||||
<script src="js/features/map-layers.js"></script>
|
||||
<script src="js/features/map-forms.js"></script>
|
||||
<script src="js/features/log-bantuan.js"></script>
|
||||
<script>
|
||||
// Map page: init Leaflet after DOM ready, then trigger panel loading
|
||||
document.addEventListener('auth-ready', function(e) {
|
||||
const user = e.detail;
|
||||
|
||||
// Init the Leaflet map
|
||||
initMap();
|
||||
|
||||
// Show tabs for admin
|
||||
const tabsContainer = document.querySelector('.nav-tabs');
|
||||
if (tabsContainer) {
|
||||
if (user.role === 'admin') {
|
||||
tabsContainer.style.display = 'flex';
|
||||
tabsContainer.innerHTML = `
|
||||
<button class="nav-tab active" onclick="switchTab('rumah_ibadah')">Rumah Ibadah</button>
|
||||
<button class="nav-tab" onclick="switchTab('penduduk_miskin')">Orang Miskin</button>
|
||||
`;
|
||||
switchTab('rumah_ibadah');
|
||||
} else {
|
||||
tabsContainer.style.display = 'none';
|
||||
switchTab('penduduk_miskin');
|
||||
}
|
||||
}
|
||||
|
||||
// Fix map tile rendering after sidebar layout
|
||||
setTimeout(() => { if (map) map.invalidateSize(); }, 150);
|
||||
});
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user