/home/awneajlw/.trash/admin/dashboard.php
<?php
require_once '../config/database.php';
require_once '../includes/auth.php';
requireAdmin();

$database = new Database();
$db = $database->getConnection();

// Get statistics
$stats = [];

// Total appointments
$query = "SELECT COUNT(*) as total FROM appointments";
$stmt = $db->prepare($query);
$stmt->execute();
$stats['total_appointments'] = $stmt->fetch(PDO::FETCH_ASSOC)['total'];

// Pending appointments
$query = "SELECT COUNT(*) as pending FROM appointments WHERE status = 'pending'";
$stmt = $db->prepare($query);
$stmt->execute();
$stats['pending_appointments'] = $stmt->fetch(PDO::FETCH_ASSOC)['pending'];

// Total users
$query = "SELECT COUNT(*) as total FROM users WHERE role = 'user'";
$stmt = $db->prepare($query);
$stmt->execute();
$stats['total_users'] = $stmt->fetch(PDO::FETCH_ASSOC)['total'];

// Total services
$query = "SELECT COUNT(*) as total FROM services WHERE status = 'active'";
$stmt = $db->prepare($query);
$stmt->execute();
$stats['total_services'] = $stmt->fetch(PDO::FETCH_ASSOC)['total'];

// Recent appointments
$query = "SELECT a.*, u.name as user_name, s.title as service_name 
          FROM appointments a 
          JOIN users u ON a.user_id = u.id 
          JOIN services s ON a.service_id = s.id 
          ORDER BY a.created_at DESC 
          LIMIT 10";
$stmt = $db->prepare($query);
$stmt->execute();
$recent_appointments = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Recent users
$query = "SELECT * FROM users WHERE role = 'user' ORDER BY created_at DESC LIMIT 5";
$stmt = $db->prepare($query);
$stmt->execute();
$recent_users = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Admin Dashboard - Opti-Vision Eye Clinic</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <link href="../assets/css/style.css" rel="stylesheet">
</head>
<body class="bg-light">
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary shadow-sm">
        <div class="container-fluid">
            <a class="navbar-brand fw-bold" href="../index.php">
                <i class="fas fa-eye me-2"></i>Opti-Vision Admin
            </a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav ms-auto">
                    <li class="nav-item">
                        <a class="nav-link active" href="dashboard.php">Dashboard</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="appointments.php">Appointments</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="users.php">Users</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="services.php">Services</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="doctors.php">Doctors</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="messages.php">Messages</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="../logout.php">Logout</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container-fluid py-4">
        <div class="row">
            <div class="col-12">
                <h2 class="fw-bold mb-4">Dashboard Overview</h2>
                
                <!-- Stats Cards -->
                <div class="row g-4 mb-5">
                    <div class="col-lg-3 col-md-6">
                        <div class="card dashboard-card stat-card">
                            <div class="stat-number"><?php echo $stats['total_appointments']; ?></div>
                            <div class="stat-label">Total Appointments</div>
                            <div class="mt-2">
                                <a href="appointments.php" class="btn btn-sm btn-outline-primary">View All</a>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-6">
                        <div class="card dashboard-card stat-card">
                            <div class="stat-number text-warning"><?php echo $stats['pending_appointments']; ?></div>
                            <div class="stat-label">Pending Appointments</div>
                            <div class="mt-2">
                                <a href="appointments.php?status=pending" class="btn btn-sm btn-outline-warning">View Pending</a>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-6">
                        <div class="card dashboard-card stat-card">
                            <div class="stat-number text-success"><?php echo $stats['total_users']; ?></div>
                            <div class="stat-label">Registered Users</div>
                            <div class="mt-2">
                                <a href="users.php" class="btn btn-sm btn-outline-success">View Users</a>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-3 col-md-6">
                        <div class="card dashboard-card stat-card">
                            <div class="stat-number text-info"><?php echo $stats['total_services']; ?></div>
                            <div class="stat-label">Active Services</div>
                            <div class="mt-2">
                                <a href="services.php" class="btn btn-sm btn-outline-info">Manage Services</a>
                            </div>
                        </div>
                    </div>
                </div>
                
                <div class="row g-4">
                    <!-- Recent Appointments -->
                    <div class="col-lg-8">
                        <div class="card dashboard-card">
                            <div class="card-header bg-primary text-white">
                                <h5 class="mb-0"><i class="fas fa-calendar-alt me-2"></i>Recent Appointments</h5>
                            </div>
                            <div class="card-body">
                                <?php if (empty($recent_appointments)): ?>
                                    <div class="text-center py-4">
                                        <i class="fas fa-calendar-times fa-3x text-muted mb-3"></i>
                                        <p class="text-muted">No appointments found</p>
                                    </div>
                                <?php else: ?>
                                    <div class="table-responsive">
                                        <table class="table table-hover">
                                            <thead>
                                                <tr>
                                                    <th>Patient</th>
                                                    <th>Service</th>
                                                    <th>Date</th>
                                                    <th>Time</th>
                                                    <th>Status</th>
                                                    <th>Action</th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                <?php foreach($recent_appointments as $appointment): ?>
                                                <tr>
                                                    <td><?php echo htmlspecialchars($appointment['user_name']); ?></td>
                                                    <td><?php echo htmlspecialchars($appointment['service_name']); ?></td>
                                                    <td><?php echo date('M d, Y', strtotime($appointment['appointment_date'])); ?></td>
                                                    <td><?php echo date('h:i A', strtotime($appointment['appointment_time'])); ?></td>
                                                    <td>
                                                        <span class="badge bg-<?php 
                                                            echo $appointment['status'] === 'confirmed' ? 'success' : 
                                                                ($appointment['status'] === 'pending' ? 'warning' : 
                                                                ($appointment['status'] === 'completed' ? 'info' : 'secondary')); 
                                                        ?>">
                                                            <?php echo ucfirst($appointment['status']); ?>
                                                        </span>
                                                    </td>
                                                    <td>
                                                        <div class="btn-group btn-group-sm">
                                                            <button class="btn btn-outline-primary" 
                                                                    onclick="viewAppointment(<?php echo $appointment['id']; ?>)">
                                                                <i class="fas fa-eye"></i>
                                                            </button>
                                                            <button class="btn btn-outline-success" 
                                                                    onclick="updateStatus(<?php echo $appointment['id']; ?>, 'confirmed')">
                                                                <i class="fas fa-check"></i>
                                                            </button>
                                                        </div>
                                                    </td>
                                                </tr>
                                                <?php endforeach; ?>
                                            </tbody>
                                        </table>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                    
                    <!-- Recent Users -->
                    <div class="col-lg-4">
                        <div class="card dashboard-card">
                            <div class="card-header">
                                <h5 class="mb-0"><i class="fas fa-users me-2"></i>Recent Users</h5>
                            </div>
                            <div class="card-body">
                                <?php if (empty($recent_users)): ?>
                                    <div class="text-center py-4">
                                        <i class="fas fa-user-slash fa-3x text-muted mb-3"></i>
                                        <p class="text-muted">No users found</p>
                                    </div>
                                <?php else: ?>
                                    <div class="list-group list-group-flush">
                                        <?php foreach($recent_users as $user): ?>
                                        <div class="list-group-item d-flex justify-content-between align-items-center px-0">
                                            <div>
                                                <h6 class="mb-1"><?php echo htmlspecialchars($user['name']); ?></h6>
                                                <small class="text-muted"><?php echo htmlspecialchars($user['email']); ?></small>
                                            </div>
                                            <small class="text-muted">
                                                <?php echo date('M d', strtotime($user['created_at'])); ?>
                                            </small>
                                        </div>
                                        <?php endforeach; ?>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        function viewAppointment(id) {
            // Implement view appointment modal
            alert('View appointment feature will be implemented soon.');
        }
        
        function updateStatus(id, status) {
            if (confirm('Are you sure you want to update this appointment status?')) {
                // Implement AJAX call to update status
                alert('Status update feature will be implemented soon.');
            }
        }
    </script>
</body>
</html>