Skip to content

Commit

Permalink
latest code
Browse files Browse the repository at this point in the history
  • Loading branch information
Mac Air authored and Mac Air committed Nov 27, 2024
1 parent bea75b0 commit 4f3dad7
Show file tree
Hide file tree
Showing 11 changed files with 1,060 additions and 401 deletions.
Binary file added .DS_Store
Binary file not shown.
291 changes: 193 additions & 98 deletions admin/admin_dashboard.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,34 @@
require '../config/jkl_config.php';

// Fetch statistics from the database
// Function to get the total number of patients
function getTotalPatients() {
global $pdo;
$stmt = $pdo->prepare("SELECT COUNT(*) FROM patients");
$stmt->execute();
return $stmt->fetchColumn();
}

// Function to get the total number of caregivers
function getTotalCaregivers() {
global $pdo;
$stmt = $pdo->prepare("SELECT COUNT(*) FROM caregivers");
$stmt->execute();
return $stmt->fetchColumn();
}

// Function to get the total number of appointments
function getTotalAppointments() {
global $pdo;
$stmt = $pdo->prepare("SELECT COUNT(*) FROM appointments");
$stmt->execute();
return $stmt->fetchColumn();
}

// Function to get the number of upcoming appointments (within the next 7 days)
function getUpcomingAppointments() {
global $pdo;
$stmt = $pdo->prepare("SELECT COUNT(*) FROM appointments WHERE appointment_date >= CURDATE() AND appointment_date <= DATE_ADD(CURDATE(), INTERVAL 7 DAY)");
$stmt->execute();
return $stmt->fetchColumn();
}

// Function to fetch available caregivers
function getAvailableCaregivers() {
global $pdo;
$stmt = $pdo->prepare("
Expand All @@ -52,120 +47,220 @@ function getAvailableCaregivers() {
$totalCaregivers = getTotalCaregivers();
$totalAppointments = getTotalAppointments();
$upcomingAppointments = getUpcomingAppointments();
$availableCaregivers = getAvailableCaregivers(); // Fetch available caregivers
$availableCaregivers = getAvailableCaregivers();
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="../assets/css/jkl_styles.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap" rel="stylesheet">
<title>Admin Dashboard</title>
<style>
body {
margin: 0;
font-family: 'Poppins', sans-serif;
background: #f0f4f8;
}

/* Navigation Bar */
.navbar {
background: #1e3c72;
color: white;
padding: 15px;
display: flex;
justify-content: space-between;
align-items: center;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.navbar .brand {
font-size: 1.5rem;
font-weight: bold;
}

.navbar ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 20px;
}

.navbar ul li {
display: inline;
}

.navbar ul li a {
text-decoration: none;
color: white;
font-weight: 500;
padding: 10px 15px;
border-radius: 5px;
transition: background 0.3s;
}

.navbar ul li a:hover {
background: #2a5298;
}

.header {
background: linear-gradient(135deg, #1e3c72, #2a5298);
color: white;
padding: 20px;
text-align: center;
border-radius: 0 0 20px 20px;
}

.header h1 {
font-size: 2.5rem;
margin: 0;
font-weight: bold;
}

.header p {
font-size: 1.1rem;
margin: 10px 0 0;
}

.container {
max-width: 1200px;
margin: 20px auto;
padding: 20px;
}

.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}

.stat-card {
background: white;
border-radius: 15px;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
padding: 20px;
text-align: center;
transition: transform 0.3s;
}

.stat-card:hover {
transform: translateY(-10px);
}

.stat-card h3 {
font-size: 1.2rem;
color: #333;
margin-bottom: 10px;
}

.stat-card p {
font-size: 2.5rem;
font-weight: bold;
margin: 0;
color: #1e3c72;
}

.list-section {
margin-top: 40px;
}

.list-section h2 {
font-size: 1.8rem;
color: #333;
margin-bottom: 20px;
}

.list-section ul {
list-style: none;
padding: 0;
}

.list-section li {
background: white;
border-radius: 10px;
margin-bottom: 10px;
padding: 15px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
}

.list-section li i {
color: #2a5298;
margin-right: 10px;
}

.list-section li span {
font-weight: bold;
color: #333;
}
</style>
</head>
<body>
<!-- Admin Navbar -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">JKL Healthcare Admin</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="admin_dashboard.php">Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="manage_caregivers.php">Manage Caregivers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="manage_appointments.php">Manage Appointments</a>
</li>
<li class="nav-item">
<a class="nav-link" href="track_caregiver_availability.php">Carer Availability</a>
</li>
<li class="nav-item">
<a class="nav-link" href="admin_logout.php">Logout</a>
</li>
</ul>
</div>
</nav>
<!-- Navbar -->
<div class="navbar">
<div class="brand">JKL Healthcare Admin</div>
<ul>
<li><a href="admin_dashboard.php"><i class="fas fa-tachometer-alt"></i> Dashboard</a></li>
<li><a href="manage_caregivers.php"><i class="fas fa-users"></i> Manage Caregivers</a></li>
<li><a href="manage_appointments.php"><i class="fas fa-calendar-alt"></i> Manage Appointments</a></li>
<li><a href="track_caregiver_availability.php"><i class="fas fa-user-check"></i> Carer Availability</a></li>
<li><a href="admin_logout.php"><i class="fas fa-sign-out-alt"></i> Logout</a></li>
</ul>
</div>

<div class="container mt-4">
<h4>Welcome, Admin!</h4>
<p>This is the dashboard. Here you can monitor and manage various aspects of the healthcare system.</p>
<div class="header">
<h1>Welcome Admin</h1>
<p>Monitor and manage all aspects of the healthcare system from here.</p>
</div>

<div class="container">
<!-- Statistics Section -->
<div class="row">
<!-- Total Patients -->
<div class="col-md-3">
<div class="card text-white bg-primary mb-3">
<div class="card-header">Total Patients</div>
<div class="card-body">
<h5 class="card-title"><?php echo $totalPatients; ?></h5>
<p class="card-text">The total number of registered patients in the system.</p>
</div>
</div>
<div class="stats-grid">
<div class="stat-card">
<h3>Total Patients</h3>
<p><?php echo $totalPatients; ?></p>
</div>

<!-- Total Caregivers -->
<div class="col-md-3">
<div class="card text-white bg-success mb-3">
<div class="card-header">Total Caregivers</div>
<div class="card-body">
<h5 class="card-title"><?php echo $totalCaregivers; ?></h5>
<p class="card-text">The total number of caregivers available to patients.</p>
</div>
</div>
<div class="stat-card">
<h3>Total Caregivers</h3>
<p><?php echo $totalCaregivers; ?></p>
</div>

<!-- Total Appointments -->
<div class="col-md-3">
<div class="card text-white bg-warning mb-3">
<div class="card-header">Total Appointments</div>
<div class="card-body">
<h5 class="card-title"><?php echo $totalAppointments; ?></h5>
<p class="card-text">The total number of appointments scheduled in the system.</p>
</div>
</div>
<div class="stat-card">
<h3>Total Appointments</h3>
<p><?php echo $totalAppointments; ?></p>
</div>

<!-- Upcoming Appointments (Next 7 days) -->
<div class="col-md-3">
<div class="card text-white bg-info mb-3">
<div class="card-header">Upcoming Appointments</div>
<div class="card-body">
<h5 class="card-title"><?php echo $upcomingAppointments; ?></h5>
<p class="card-text">Appointments scheduled within the next 7 days.</p>
</div>
</div>
<div class="stat-card">
<h3>Upcoming Appointments</h3>
<p><?php echo $upcomingAppointments; ?></p>
</div>
</div>

<!-- Carer Availability Section -->
<div id="carer-availability" class="mt-5">
<h4>Carer Availability</h4>
<div class="card">
<div class="card-header">Available Carers</div>
<div class="card-body">
<ul class="list-group">
<?php if (!empty($availableCaregivers)): ?>
<?php foreach ($availableCaregivers as $caregiver): ?>
<li class="list-group-item"><?php echo htmlspecialchars($caregiver['name']); ?></li>
<?php endforeach; ?>
<?php else: ?>
<li class="list-group-item">No carers are currently available.</li>
<?php endif; ?>
</ul>
</div>
</div>
<div class="list-section">
<h2>Available Caregivers</h2>
<ul>
<?php if (!empty($availableCaregivers)): ?>
<?php foreach ($availableCaregivers as $caregiver): ?>
<li>
<i class="fas fa-user"></i>
<span><?php echo htmlspecialchars($caregiver['name']); ?></span>
</li>
<?php endforeach; ?>
<?php else: ?>
<li>
<i class="fas fa-exclamation-circle"></i>
<span>No carers are currently available.</span>
</li>
<?php endif; ?>
</ul>
</div>
</div>

<!-- Include Bootstrap JS and dependencies -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>
Loading

0 comments on commit 4f3dad7

Please sign in to comment.