newdesigngestionnaire/Vue/includes/sidebar.php
2026-02-25 08:39:11 +00:00

92 lines
3.1 KiB
PHP

<?php
/*
* INTER SANTÉ — includes/sidebar.php
* Sidebar navigation moderne avec micro-animations
*/
?>
<!-- ======= Sidebar ======= -->
<aside id="sidebar" class="sidebar">
<ul class="sidebar-nav" id="sidebar-nav">
<?php foreach ($menus as $key0 => $menuParent):
$menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']);
$hasChildren = sizeof($menuChildrenLevelOne) > 0;
$parentLink = explode('/', $menuParent['lienMenu'])[0];
$isActive = strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1)
|| $parentLink == $activeLevel1;
?>
<?php if ($hasChildren): ?>
<!-- Menu parent avec sous-menus -->
<li class="nav-item">
<a class="nav-link collapsed <?= $isActive ? 'parent-active' : '' ?>"
data-bs-target="#nav-<?= $menuParent['codeMenu'] . $key0 ?>"
data-bs-toggle="collapse"
href="#"
aria-expanded="<?= $isActive ? 'true' : 'false' ?>">
<i class="<?= htmlspecialchars($menuParent['icone'], ENT_QUOTES) ?>"></i>
<span class="<?= $isActive ? 'active-main' : '' ?>">
<?= htmlspecialchars($menuParent['libeleMenu'], ENT_QUOTES) ?>
</span>
<i class="bi bi-chevron-down ms-auto"></i>
</a>
<ul id="nav-<?= $menuParent['codeMenu'] . $key0 ?>"
class="nav-content collapse <?= $isActive ? 'show' : '' ?>"
data-bs-parent="#sidebar-nav">
<?php foreach ($menuChildrenLevelOne as $key1 => $menuChild):
$linkClean = explode('/', $menuChild['lienMenu'])[0];
$activeLink = $_SESSION['firstLevelMenu'];
$isSubActive = $linkClean == $activeLink;
?>
<li>
<a href="<?= htmlspecialchars($menuChild['lienMenu'], ENT_QUOTES) ?>"
class="<?= $isSubActive ? 'active-submenu' : '' ?>"
title="<?= htmlspecialchars($menuChild['libeleMenu'], ENT_QUOTES) ?>">
<span><?= htmlspecialchars($menuChild['libeleMenu'], ENT_QUOTES) ?></span>
</a>
</li>
<?php endforeach; ?>
</ul>
</li>
<?php else: ?>
<!-- Menu parent sans sous-menus (lien direct) -->
<li class="nav-item">
<a class="nav-link collapsed <?= $isActive ? 'parent-active' : '' ?>"
href="<?= htmlspecialchars($menuParent['lienMenu'], ENT_QUOTES) ?>">
<i class="<?= htmlspecialchars($menuParent['icone'], ENT_QUOTES) ?>"></i>
<span><?= htmlspecialchars($menuParent['libeleMenu'], ENT_QUOTES) ?></span>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</aside>
<!-- End Sidebar -->
<style>
/* Sidebar — styles inline spécifiques au composant */
#sidebar { background: var(--bg-sidebar, #0f2d20); }
/* Active parent: highlight subtle */
#sidebar .nav-link.parent-active {
background: rgba(255,255,255,0.08);
color: white;
}
#sidebar .nav-link.parent-active > i:first-child {
color: var(--color-accent, #0abf7c);
}
</style>