77 lines
2.6 KiB
PHP
77 lines
2.6 KiB
PHP
<?php
|
|
$currentPage = isset($_GET['page']) ? $_GET['page'] : 'map';
|
|
?>
|
|
<aside class="sidebar">
|
|
<div class="sidebar-brand">
|
|
<span class="brand-icon">🗺️</span>
|
|
<div>
|
|
<h2 class="brand-title">WebGIS Poverty</h2>
|
|
<span class="brand-sub">Sistem Informasi Kemiskinan</span>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="sidebar-nav">
|
|
<a href="?page=dashboard" class="nav-item <?= $currentPage === 'dashboard' ? 'active' : '' ?>" id="nav-dashboard">
|
|
<span class="nav-icon">📊</span>
|
|
<span class="nav-text">Dashboard</span>
|
|
</a>
|
|
<a href="?page=map" class="nav-item <?= $currentPage === 'map' ? 'active' : '' ?>" id="nav-map">
|
|
<span class="nav-icon">🗺️</span>
|
|
<span class="nav-text">Peta Interaktif</span>
|
|
</a>
|
|
<a href="?page=manajemen_akun" class="nav-item <?= $currentPage === 'manajemen_akun' ? 'active' : '' ?>" id="nav-akun" style="display:none">
|
|
<span class="nav-icon">🏛️</span>
|
|
<span class="nav-text">Daftar Rumah Ibadah</span>
|
|
</a>
|
|
<a href="?page=daftar_pm" class="nav-item <?= $currentPage === 'daftar_pm' ? 'active' : '' ?>" id="nav-pm">
|
|
<span class="nav-icon">👥</span>
|
|
<span class="nav-text">Daftar Penduduk Miskin</span>
|
|
</a>
|
|
</nav>
|
|
|
|
<div class="sidebar-footer">
|
|
<div class="user-profile">
|
|
<div class="user-avatar">👤</div>
|
|
<div class="user-info">
|
|
<div class="user-name" id="user-display-name">Memuat...</div>
|
|
<div class="user-role-badge" id="user-display-role">Guest</div>
|
|
</div>
|
|
</div>
|
|
<button class="btn-logout" onclick="handleLogout()">
|
|
<span class="logout-icon">↩</span> Keluar
|
|
</button>
|
|
</div>
|
|
</aside>
|
|
|
|
<!-- Common Sidebar JS (auth info sync) -->
|
|
<script>
|
|
document.addEventListener('auth-ready', function(e) {
|
|
const user = e.detail;
|
|
document.body.classList.add('auth-loaded', 'role-' + user.role);
|
|
|
|
// Set user profile in sidebar
|
|
document.getElementById('user-display-name').textContent = user.username;
|
|
const roleMap = {
|
|
'admin': 'Admin',
|
|
'petugas_lapangan': 'Rumah Ibadah',
|
|
'guest': 'Guest'
|
|
};
|
|
document.getElementById('user-display-role').textContent = roleMap[user.role] || user.role;
|
|
|
|
// Show admin-only nav items
|
|
if (user.role === 'admin') {
|
|
const navAkun = document.getElementById('nav-akun');
|
|
if (navAkun) navAkun.style.display = 'flex';
|
|
}
|
|
});
|
|
|
|
async function handleLogout() {
|
|
if (!confirm('Apakah Anda yakin ingin keluar?')) return;
|
|
try {
|
|
const response = await fetch('api/logout.php');
|
|
const data = await response.json();
|
|
if (data.status === 'success') window.location.href = '?page=login';
|
|
} catch { alert('Gagal logout.'); }
|
|
}
|
|
</script>
|