Files

95 lines
4.5 KiB
PHP

<?php
require_once __DIR__ . '/../config/config.php';
require_once __DIR__ . '/auth.php';
$user = getCurrentUser();
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= isset($pageTitle) ? htmlspecialchars($pageTitle) . ' — ' : '' ?><?= APP_NAME ?></title>
<meta name="description" content="WebGIS Sebaran Penduduk Miskin — Sistem pemetaan interaktif rumah ibadah dan penduduk miskin berbasis web.">
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<!-- SweetAlert2 CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css">
<!-- Admin CSS -->
<link rel="stylesheet" href="<?= BASE_URL ?>/assets/css/admin.css?v=<?= time() ?>">
<?= $extraHead ?? '' ?>
</head>
<body>
<!-- Bootstrap 5 JS (di head agar tersedia untuk modal) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<!-- SweetAlert2 JS -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- ══ NAVBAR ══════════════════════════════════════════════ -->
<nav class="admin-navbar">
<a href="<?= BASE_URL ?>/admin/" class="navbar-brand">
<span class="brand-icon">🗺️</span>
<span><?= APP_NAME ?></span>
</a>
<div class="navbar-right">
<a href="<?= BASE_URL ?>/" target="_blank" class="btn-nav-link" title="Lihat Peta">
<i class="bi bi-map"></i> Buka Peta
</a>
<?php if ($user): ?>
<div class="user-badge">
<span class="user-role-dot <?= $user['role'] ?>"></span>
<span><?= htmlspecialchars($user['nama']) ?></span>
<span class="role-pill"><?= ucfirst($user['role']) ?></span>
</div>
<a href="<?= BASE_URL ?>/admin/logout.php" class="btn-nav-link danger" title="Logout">
<i class="bi bi-box-arrow-right"></i>
</a>
<?php endif; ?>
</div>
</nav>
<div class="admin-layout">
<!-- ══ SIDEBAR ══════════════════════════════════════════════ -->
<aside class="admin-sidebar" id="admin-sidebar">
<nav class="sidebar-nav">
<div class="nav-section-label">Menu</div>
<a href="<?= BASE_URL ?>/admin/" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'index.php' && strpos($_SERVER['REQUEST_URI'], '/admin/') !== false) ? 'active' : '' ?>">
<i class="bi bi-speedometer2"></i> Dashboard
</a>
<a href="<?= BASE_URL ?>/admin/rumah_ibadah.php" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'rumah_ibadah.php') ? 'active' : '' ?>">
<i class="bi bi-building"></i> Rumah Ibadah
</a>
<a href="<?= BASE_URL ?>/admin/penduduk_miskin.php" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'penduduk_miskin.php') ? 'active' : '' ?>">
<i class="bi bi-people"></i> Penduduk Miskin
</a>
<?php if ($user && $user['role'] === 'admin'): ?>
<div class="nav-section-label" style="margin-top:20px;">Admin</div>
<a href="<?= BASE_URL ?>/admin/import.php" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'import.php') ? 'active' : '' ?>">
<i class="bi bi-upload"></i> Import Data
</a>
<a href="<?= BASE_URL ?>/admin/export.php" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'export.php') ? 'active' : '' ?>">
<i class="bi bi-download"></i> Export Data
</a>
<a href="<?= BASE_URL ?>/admin/users.php" class="nav-item <?= (basename($_SERVER['PHP_SELF']) === 'users.php') ? 'active' : '' ?>">
<i class="bi bi-person-gear"></i> Pengguna
</a>
<?php endif; ?>
<div class="nav-section-label" style="margin-top:20px;">Lainnya</div>
<a href="<?= BASE_URL ?>/" target="_blank" class="nav-item">
<i class="bi bi-map-fill"></i> Lihat Peta
</a>
<a href="<?= BASE_URL ?>/admin/logout.php" class="nav-item danger">
<i class="bi bi-box-arrow-right"></i> Logout
</a>
</nav>
</aside>
<!-- ══ MAIN CONTENT ══════════════════════════════════════════ -->
<main class="admin-content">