production/Vue/sidebar.php
2026-02-03 11:16:42 +00:00

102 lines
6.4 KiB
PHP
Executable File

<!-- ======= Sidebar ======= -->
<aside id="sidebar" class="sidebar shadow-lg">
<div class="sidebar-header py-3 px-4 border-bottom">
<div class="d-flex align-items-center">
<div class="avatar-sm bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3">
<i class="fas fa-user-md text-primary"></i>
</div>
<div>
<h6 class="mb-0 fw-bold"><?= _("Navigation") ?></h6>
<small class="text-muted"><?= _("Portail Gestionnaire") ?></small>
</div>
</div>
</div>
<div class="sidebar-body">
<ul class="sidebar-nav list-unstyled" id="sidebar-nav">
<?php foreach ($menus as $key0 => $menuParent): ?>
<?php $menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']); ?>
<?php if (sizeof($menuChildrenLevelOne) > 0): ?>
<!-- Menu avec sous-menus -->
<li class="nav-item mb-1">
<a class="nav-link d-flex align-items-center justify-content-between py-3 px-4
<?= strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1) ? 'active-main' : '' ?>"
data-bs-toggle="collapse"
href="#menu-<?= $menuParent['codeMenu'] . $key0 ?>"
role="button"
aria-expanded="<?= strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1) ? 'true' : 'false' ?>"
aria-controls="menu-<?= $menuParent['codeMenu'] . $key0 ?>">
<div class="d-flex align-items-center">
<div class="icon-wrapper bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3"
style="width: 36px; height: 36px;">
<i class="<?= $menuParent['icone'] ?> text-primary"></i>
</div>
<span class="fw-medium"><?= $menuParent['libeleMenu'] ?></span>
</div>
<!-- Icône qui change selon l'état ouvert/fermé -->
<i class="fas <?= strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1) ? 'fa-chevron-up' : 'fa-chevron-down' ?> transition-transform"></i>
</a>
<div class="collapse <?= strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1) ? 'show' : '' ?>"
id="menu-<?= $menuParent['codeMenu'] . $key0 ?>">
<ul class="list-unstyled ps-4 py-2 bg-light rounded">
<?php foreach ($menuChildrenLevelOne as $key1 => $menuChild): ?>
<?php
$link_clean = explode('/', $menuChild['lienMenu'])[0];
$activeLink = $_SESSION['firstLevelMenu'];
?>
<li class="mb-1">
<a class="nav-link-sub d-flex align-items-center py-2 px-3 rounded
<?= $link_clean == $activeLink ? 'active-submenu bg-primary text-white' : 'text-dark' ?>"
href="<?= $menuChild['lienMenu'] ?>">
<i class="fas fa-circle me-2" style="font-size: 0.5rem;"></i>
<span><?= $menuChild['libeleMenu'] ?></span>
<?php if ($link_clean == $activeLink): ?>
<i class="fas fa-arrow-right ms-auto"></i>
<?php endif; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
</li>
<?php else: ?>
<!-- Menu sans sous-menus (comme Quitter) -->
<li class="nav-item mb-1">
<a class="nav-link d-flex align-items-center justify-content-between py-3 px-4
<?= strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1) ? 'active-main' : '' ?>"
href="<?= $menuParent['lienMenu'] ?>">
<div class="d-flex align-items-center">
<!-- Conteneur d'icône identique aux autres menus -->
<div class="icon-wrapper bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3"
style="width: 36px; height: 36px;">
<i class="<?= $menuParent['icone'] ?> text-primary"></i>
</div>
<span class="fw-medium"><?= $menuParent['libeleMenu'] ?></span>
</div>
<!-- Flèche uniquement si le menu est actif -->
<?php if (strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1)): ?>
<i class="fas fa-arrow-right ms-auto text-primary"></i>
<?php endif; ?>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
</div>
<div class="sidebar-footer p-4 border-top bg-light">
<div class="d-grid">
<button class="btn btn-outline-primary d-flex align-items-center justify-content-center py-2"
onclick="javascript:window.open('Guideutilisation/', '_blank');">
<i class="fas fa-question-circle me-2"></i>
<?= _("Aide & Support") ?>
</button>
</div>
<div class="mt-3 text-center">
<small class="text-muted">v<?= $_SESSION['version_C'] ?? '1.0.0' ?></small>
</div>
</div>
</aside>
<!-- End Sidebar -->