242 lines
10 KiB
PHP
242 lines
10 KiB
PHP
<?php
|
|
// We are leaving the door open for this to be a secured area
|
|
// session_start();
|
|
// if (!isset($_SESSION["user"])) {
|
|
// header("Location: login.php");
|
|
// exit();
|
|
// }
|
|
|
|
// Dynamic Header
|
|
$projectName = htmlspecialchars(getenv('PROJECT_NAME') ?: 'PelipostPRO');
|
|
$projectDescription = htmlspecialchars(getenv('PROJECT_DESCRIPTION') ?: 'Correctional facility content screening application.');
|
|
$projectImageURL = htmlspecialchars(getenv('PROJECT_IMAGE_URL') ?: 'assets/images/default-social-image.png');
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title><?php echo $projectName; ?> - Dashboard</title>
|
|
|
|
<!-- SEO Meta Tags -->
|
|
<meta name="description" content="<?php echo $projectDescription; ?>">
|
|
<meta name="author" content="Pelipost">
|
|
|
|
<!-- Open Graph / Twitter Meta Tags -->
|
|
<meta property="og:title" content="<?php echo $projectName; ?>">
|
|
<meta property="og:description" content="<?php echo $projectDescription; ?>">
|
|
<meta property="og:image" content="<?php echo $projectImageURL; ?>">
|
|
<meta property="og:type" content="website">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="<?php echo $projectName; ?>">
|
|
<meta name="twitter:description" content="<?php echo $projectDescription; ?>">
|
|
<meta name="twitter:image" content="<?php echo $projectImageURL; ?>">
|
|
|
|
<!-- Favicon -->
|
|
<link rel="icon" href="/favicon.ico" type="image/x-icon">
|
|
|
|
<!-- Stylesheets -->
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" rel="stylesheet">
|
|
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
|
|
</head>
|
|
<body>
|
|
<div class="d-flex">
|
|
<!-- Sidebar Navigation -->
|
|
<nav class="sidebar d-none d-lg-block">
|
|
<div class="sidebar-header">
|
|
<?php echo $projectName; ?>
|
|
</div>
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" href="#">
|
|
<i class="bi bi-grid-fill"></i> Dashboard
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-journal-check"></i> Content Review
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-search"></i> Search
|
|
</a>
|
|
</li>
|
|
<li class="nav-item mt-3 pt-3 border-top">
|
|
<span class="nav-link text-muted" style="font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px;">Administration</span>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-building"></i> Facilities
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-people-fill"></i> Users
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-archive-fill"></i> Audit Log
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-gear-fill"></i> Settings
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<!-- Main Content -->
|
|
<main class="main-content flex-grow-1">
|
|
<!-- Header -->
|
|
<header class="d-flex justify-content-between align-items-center mb-4">
|
|
<h1 class="h2">Dashboard</h1>
|
|
<div class="d-flex align-items-center">
|
|
<button class="btn btn-outline-secondary d-lg-none me-3" type="button" data-bs-toggle="offcanvas" data-bs-target="#sidebarMenu" aria-controls="sidebarMenu">
|
|
<i class="bi bi-list"></i>
|
|
</button>
|
|
<div class="dropdown">
|
|
<a href="#" class="d-block link-dark text-decoration-none dropdown-toggle" id="dropdownUser1" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<img src="https://i.pravatar.cc/40?u=mailroom.staff@example.com" alt="mdo" width="40" height="40" class="rounded-circle">
|
|
</a>
|
|
<ul class="dropdown-menu text-small dropdown-menu-end" aria-labelledby="dropdownUser1">
|
|
<li><a class="dropdown-item" href="#">Mailroom Staff</a></li>
|
|
<li><a class="dropdown-item" href="#">Profile</a></li>
|
|
<li><a class="dropdown-item" href="#">Settings</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li><a class="dropdown-item" href="#">Sign out</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<!-- Dashboard Stats -->
|
|
<div class="row g-4">
|
|
<div class="col-xl-3 col-md-6">
|
|
<div class="card stat-card text-bg-primary">
|
|
<div class="card-body">
|
|
<div>
|
|
<h5 class="card-title">PENDING REVIEW</h5>
|
|
<span class="stat-number">1,204</span>
|
|
</div>
|
|
<div class="stat-icon">
|
|
<i class="bi bi-hourglass-split"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-md-6">
|
|
<div class="card stat-card text-bg-success">
|
|
<div class="card-body">
|
|
<div>
|
|
<h5 class="card-title">APPROVED TODAY</h5>
|
|
<span class="stat-number">852</span>
|
|
</div>
|
|
<div class="stat-icon">
|
|
<i class="bi bi-check-circle-fill"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-md-6">
|
|
<div class="card stat-card text-bg-danger">
|
|
<div class="card-body">
|
|
<div>
|
|
<h5 class="card-title">REJECTED TODAY</h5>
|
|
<span class="stat-number">49</span>
|
|
</div>
|
|
<div class="stat-icon">
|
|
<i class="bi bi-x-circle-fill"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-md-6">
|
|
<div class="card stat-card text-bg-warning">
|
|
<div class="card-body">
|
|
<div>
|
|
<h5 class="card-title">FLAGGED</h5>
|
|
<span class="stat-number">18</span>
|
|
</div>
|
|
<div class="stat-icon">
|
|
<i class="bi bi-flag-fill"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mt-4">
|
|
<div class="card-header">
|
|
Recent Activity
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="card-text">Placeholder for recent activity feed or a chart.</p>
|
|
</div>
|
|
</div>
|
|
|
|
</main>
|
|
</div>
|
|
|
|
<!-- Mobile Sidebar (Offcanvas) -->
|
|
<div class="offcanvas offcanvas-start" tabindex="-1" id="sidebarMenu" aria-labelledby="sidebarMenuLabel">
|
|
<div class="offcanvas-header">
|
|
<h5 class="offcanvas-title" id="sidebarMenuLabel"><?php echo $projectName; ?></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
|
</div>
|
|
<div class="offcanvas-body">
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" href="#">
|
|
<i class="bi bi-grid-fill"></i> Dashboard
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-journal-check"></i> Content Review
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-search"></i> Search
|
|
</a>
|
|
</li>
|
|
<li class="nav-item mt-3 pt-3 border-top">
|
|
<span class="nav-link text-muted" style="font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px;">Administration</span>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-building"></i> Facilities
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-people-fill"></i> Users
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-archive-fill"></i> Audit Log
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#">
|
|
<i class="bi bi-gear-fill"></i> Settings
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Scripts -->
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
|
|
</body>
|
|
</html>
|