tata
This commit is contained in:
parent
076e31468b
commit
8dfb2a59cd
|
|
@ -132,6 +132,49 @@ body {
|
|||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Texte normal */
|
||||
.app-sidebar .nav-link .nav-text {
|
||||
display: inline;
|
||||
opacity: 1;
|
||||
transition: opacity var(--transition-speed) ease;
|
||||
}
|
||||
|
||||
/* En mode réduit : cacher le texte inline */
|
||||
body.sidebar-collapsed .app-sidebar .nav-link .nav-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Overlay flottant au survol */
|
||||
body.sidebar-collapsed .app-sidebar .nav-link {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
body.sidebar-collapsed .app-sidebar .nav-link:hover::after {
|
||||
content: attr(data-label); /* récupère le texte via attribut */
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 100%; /* sort du sidebar */
|
||||
transform: translateY(-50%) translateX(0);
|
||||
background: var(--office-primary);
|
||||
color: #fff;
|
||||
padding: 6px 12px;
|
||||
border-radius: 4px;
|
||||
white-space: nowrap;
|
||||
font-size: 14px;
|
||||
margin-left: 8px;
|
||||
box-shadow: 0 2px 6px rgba(0,0,0,0.2);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity var(--transition-speed) ease, transform var(--transition-speed) ease;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
body.sidebar-collapsed .app-sidebar .nav-link:hover::after {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%) translateX(5px); /* petit slide */
|
||||
}
|
||||
|
||||
|
||||
.sidebar-nav {
|
||||
padding: 24px 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<link rel="manifest" href="<?= $racineWeb ?>manifest.json">
|
||||
|
||||
<!-- 4. VOS STYLES PERSONNALISÉS (en dernier pour qu'ils dominent) -->
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2026.01.05.13" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2026.01.05.14" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/ux_enhancements.css?ver=2025.12.21.02" rel="stylesheet">
|
||||
|
||||
<!-- ============================================
|
||||
|
|
@ -301,7 +301,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<aside class="app-sidebar" id="sidebar">
|
||||
<nav class="sidebar-nav" aria-label="Navigation principale">
|
||||
<div class="nav-section">
|
||||
<?php foreach ($menus as $key0 => $menuParent):
|
||||
<?php foreach ($menus as $key0 => $menuParent):
|
||||
$menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']);
|
||||
|
||||
// DEBUG: Afficher l'info
|
||||
|
|
@ -310,7 +310,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
$isParentActive = $activeParentId === $key0;
|
||||
$hasActiveChild = false;
|
||||
|
||||
// Vérifier si un enfant est actif
|
||||
foreach ($menuChildrenLevelOne as $key1 => $menuChild) {
|
||||
if ((explode('/', $menuChild['lienMenu'])[0] ?? '') == $activeLink) {
|
||||
$hasActiveChild = true;
|
||||
|
|
@ -318,7 +317,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
}
|
||||
}
|
||||
|
||||
// Déterminer si le menu DOIT être ouvert (seulement si actif)
|
||||
$shouldBeOpen = ($isParentActive || $hasActiveChild) && $activeParentId !== null;
|
||||
?>
|
||||
<div class="nav-item">
|
||||
|
|
@ -329,7 +327,8 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
onclick="appNavigation.toggleMenu('submenu<?= $key0 ?>', event)"
|
||||
aria-expanded="<?= $shouldBeOpen ? 'true' : 'false' ?>"
|
||||
aria-controls="submenu<?= $key0 ?>"
|
||||
data-menu-id="submenu<?= $key0 ?>">
|
||||
data-menu-id="submenu<?= $key0 ?>"
|
||||
data-label="<?= htmlspecialchars($menuParent['libeleMenu']) ?>">
|
||||
<i class="<?= $menuParent['icone'] ?>"></i>
|
||||
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
||||
<i class="nav-arrow bi bi-chevron-right"></i>
|
||||
|
|
@ -338,12 +337,13 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<div class="nav-submenu collapse <?= $shouldBeOpen ? 'show' : '' ?>"
|
||||
id="submenu<?= $key0 ?>"
|
||||
data-parent-id="submenu<?= $key0 ?>">
|
||||
<?php foreach ($menuChildrenLevelOne as $key1 => $menuChild):
|
||||
<?php foreach ($menuChildrenLevelOne as $key1 => $menuChild):
|
||||
$childActive = (explode('/', $menuChild['lienMenu'])[0] ?? '') == $activeLink;
|
||||
?>
|
||||
<a href="<?= $menuChild['lienMenu'] ?>"
|
||||
class="nav-link <?= $childActive ? 'active' : '' ?>"
|
||||
aria-current="<?= $childActive ? 'page' : 'false' ?>">
|
||||
aria-current="<?= $childActive ? 'page' : 'false' ?>"
|
||||
data-label="<?= htmlspecialchars($menuChild['libeleMenu']) ?>">
|
||||
<?= $menuChild['libeleMenu'] ?>
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
|
|
@ -351,7 +351,8 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<?php else: ?>
|
||||
<!-- Code pour "Accueil" (sans enfants) -->
|
||||
<a href="<?= $menuParent['lienMenu'] ?>"
|
||||
class="nav-link <?= ((explode('/', $menuParent['lienMenu'])[0] ?? '') == $activeLink) ? 'active' : '' ?>">
|
||||
class="nav-link <?= ((explode('/', $menuParent['lienMenu'])[0] ?? '') == $activeLink) ? 'active' : '' ?>"
|
||||
data-label="<?= htmlspecialchars($menuParent['libeleMenu']) ?>">
|
||||
<i class="<?= $menuParent['icone'] ?>"></i>
|
||||
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
||||
</a>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user