101 lines
4.6 KiB
PHP
101 lines
4.6 KiB
PHP
<?php session_start(); ?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Sensa Core Dealer Portal</title>
|
|
<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="stylesheet" href="assets/css/custom.css">
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="index.php">Sensa Core</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-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 me-auto mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="index.php">Dashboard</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="warranty_registration.php">Warranty Registration</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="products.php">Product Catalog</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="service_requests.php">Service Requests</a>
|
|
</li>
|
|
<?php if (isset($_SESSION['is_admin']) && $_SESSION['is_admin']): ?>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="admin/index.php">Admin</a>
|
|
</li>
|
|
<?php endif; ?>
|
|
</ul>
|
|
<ul class="navbar-nav">
|
|
<?php if (isset($_SESSION['user_id'])): ?>
|
|
<?php
|
|
require_once __DIR__ . '/../db/config.php';
|
|
$pdo = db();
|
|
$stmt_unread = $pdo->prepare("SELECT COUNT(*) as count FROM notifications WHERE user_id = ? AND is_read = 0");
|
|
$stmt_unread->execute([$_SESSION['user_id']]);
|
|
$unread_count = $stmt_unread->fetchColumn();
|
|
|
|
$stmt_notifications = $pdo->prepare("SELECT * FROM notifications WHERE user_id = ? ORDER BY created_at DESC LIMIT 5");
|
|
$stmt_notifications->execute([$_SESSION['user_id']]);
|
|
$notifications = $stmt_notifications->fetchAll();
|
|
?>
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="bi bi-bell"></i>
|
|
<?php if ($unread_count > 0): ?>
|
|
<span class="badge bg-danger"><?php echo $unread_count; ?></span>
|
|
<?php endif; ?>
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
|
|
<?php if (empty($notifications)): ?>
|
|
<li><a class="dropdown-item" href="#">No notifications</a></li>
|
|
<?php else: ?>
|
|
<?php foreach ($notifications as $notification): ?>
|
|
<li><a class="dropdown-item <?php echo $notification['is_read'] ? '' : 'fw-bold'; ?>" href="service_request_details.php?id=<?php echo $notification['service_request_id']; ?>"><?php echo htmlspecialchars($notification['message']); ?></a></li>
|
|
<?php endforeach; ?>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li><a class="dropdown-item text-center" href="notifications.php">View all notifications</a></li>
|
|
<?php endif; ?>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="cart.php"><i class="bi bi-cart"></i> Cart</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="orders.php">My Orders</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="invoices.php">Invoices</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="targets.php">Targets</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="profile.php">Profile</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="logout.php">Logout</a>
|
|
</li>
|
|
<?php else: ?>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="login.php">Login</a>
|
|
</li>
|
|
<?php endif; ?>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="container mt-4">
|