consultant-sidebar.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * layouts/consultant-sidebar.php
  4. *
  5. * Sidebar navigation for the Consultant Dashboard area.
  6. * Separate from the main client sidebar — consultants see
  7. * their own client list and admin tools only.
  8. */
  9. $currentUser = getCurrentUser() ?? ['fullname' => '', 'user_type' => 'consultant'];
  10. $currentPath = parse_url($_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH);
  11. $isActive = fn(string $href): string => str_starts_with($currentPath, $href) ? ' active' : '';
  12. ?>
  13. <nav id="sidenavAccordion" class="sb-sidenav accordion sb-sidenav-dark">
  14. <div class="sb-sidenav-menu">
  15. <div class="nav">
  16. <!-- Brand / home -->
  17. <div class="sb-sidenav-menu-heading">Consultant Portal</div>
  18. <a href="/dashboard/consultant/index.php"
  19. class="nav-link<?= $isActive('/dashboard/consultant/index.php') ?>">
  20. <div class="sb-nav-link-icon">
  21. <i class="fas fa-th-large nav_icon"></i>
  22. </div>
  23. Client Overview
  24. </a>
  25. <!-- Admin section (visible to admins only) -->
  26. <?php if (isAdmin()): ?>
  27. <div class="sb-sidenav-menu-heading">Admin</div>
  28. <a href="/dashboard/admin/consultant-clients.php"
  29. class="nav-link<?= $isActive('/dashboard/admin/') ?>">
  30. <div class="sb-nav-link-icon">
  31. <i class="fas fa-user-cog nav_icon"></i>
  32. </div>
  33. Manage Consultants
  34. </a>
  35. <?php endif; ?>
  36. <!-- Divider back to main app -->
  37. <div class="sb-sidenav-menu-heading">Client App</div>
  38. <a href="/dashboard/dashboard.php" class="nav-link">
  39. <div class="sb-nav-link-icon">
  40. <i class="fas fa-arrow-left nav_icon"></i>
  41. </div>
  42. Main Dashboard
  43. </a>
  44. </div>
  45. </div>
  46. <div class="sb-sidenav-footer">
  47. <div class="small">Logged in as:</div>
  48. <?= htmlspecialchars($currentUser['fullname'], ENT_QUOTES, 'UTF-8') ?>
  49. <div class="small text-muted mt-1">
  50. <span class="badge bg-info bg-opacity-50">
  51. <?= htmlspecialchars(ucfirst($currentUser['user_type'] ?? 'consultant'), ENT_QUOTES, 'UTF-8') ?>
  52. </span>
  53. </div>
  54. </div>
  55. </nav>