tata
This commit is contained in:
parent
076e31468b
commit
8dfb2a59cd
|
|
@ -132,6 +132,49 @@ body {
|
||||||
pointer-events: none;
|
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 {
|
.sidebar-nav {
|
||||||
padding: 24px 0;
|
padding: 24px 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
||||||
<link rel="manifest" href="<?= $racineWeb ?>manifest.json">
|
<link rel="manifest" href="<?= $racineWeb ?>manifest.json">
|
||||||
|
|
||||||
<!-- 4. VOS STYLES PERSONNALISÉS (en dernier pour qu'ils dominent) -->
|
<!-- 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">
|
<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">
|
<aside class="app-sidebar" id="sidebar">
|
||||||
<nav class="sidebar-nav" aria-label="Navigation principale">
|
<nav class="sidebar-nav" aria-label="Navigation principale">
|
||||||
<div class="nav-section">
|
<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']);
|
$menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']);
|
||||||
|
|
||||||
// DEBUG: Afficher l'info
|
// DEBUG: Afficher l'info
|
||||||
|
|
@ -310,7 +310,6 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
||||||
$isParentActive = $activeParentId === $key0;
|
$isParentActive = $activeParentId === $key0;
|
||||||
$hasActiveChild = false;
|
$hasActiveChild = false;
|
||||||
|
|
||||||
// Vérifier si un enfant est actif
|
|
||||||
foreach ($menuChildrenLevelOne as $key1 => $menuChild) {
|
foreach ($menuChildrenLevelOne as $key1 => $menuChild) {
|
||||||
if ((explode('/', $menuChild['lienMenu'])[0] ?? '') == $activeLink) {
|
if ((explode('/', $menuChild['lienMenu'])[0] ?? '') == $activeLink) {
|
||||||
$hasActiveChild = true;
|
$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;
|
$shouldBeOpen = ($isParentActive || $hasActiveChild) && $activeParentId !== null;
|
||||||
?>
|
?>
|
||||||
<div class="nav-item">
|
<div class="nav-item">
|
||||||
|
|
@ -329,7 +327,8 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
||||||
onclick="appNavigation.toggleMenu('submenu<?= $key0 ?>', event)"
|
onclick="appNavigation.toggleMenu('submenu<?= $key0 ?>', event)"
|
||||||
aria-expanded="<?= $shouldBeOpen ? 'true' : 'false' ?>"
|
aria-expanded="<?= $shouldBeOpen ? 'true' : 'false' ?>"
|
||||||
aria-controls="submenu<?= $key0 ?>"
|
aria-controls="submenu<?= $key0 ?>"
|
||||||
data-menu-id="submenu<?= $key0 ?>">
|
data-menu-id="submenu<?= $key0 ?>"
|
||||||
|
data-label="<?= htmlspecialchars($menuParent['libeleMenu']) ?>">
|
||||||
<i class="<?= $menuParent['icone'] ?>"></i>
|
<i class="<?= $menuParent['icone'] ?>"></i>
|
||||||
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
||||||
<i class="nav-arrow bi bi-chevron-right"></i>
|
<i class="nav-arrow bi bi-chevron-right"></i>
|
||||||
|
|
@ -338,12 +337,13 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
||||||
<div class="nav-submenu collapse <?= $shouldBeOpen ? 'show' : '' ?>"
|
<div class="nav-submenu collapse <?= $shouldBeOpen ? 'show' : '' ?>"
|
||||||
id="submenu<?= $key0 ?>"
|
id="submenu<?= $key0 ?>"
|
||||||
data-parent-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;
|
$childActive = (explode('/', $menuChild['lienMenu'])[0] ?? '') == $activeLink;
|
||||||
?>
|
?>
|
||||||
<a href="<?= $menuChild['lienMenu'] ?>"
|
<a href="<?= $menuChild['lienMenu'] ?>"
|
||||||
class="nav-link <?= $childActive ? 'active' : '' ?>"
|
class="nav-link <?= $childActive ? 'active' : '' ?>"
|
||||||
aria-current="<?= $childActive ? 'page' : 'false' ?>">
|
aria-current="<?= $childActive ? 'page' : 'false' ?>"
|
||||||
|
data-label="<?= htmlspecialchars($menuChild['libeleMenu']) ?>">
|
||||||
<?= $menuChild['libeleMenu'] ?>
|
<?= $menuChild['libeleMenu'] ?>
|
||||||
</a>
|
</a>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
@ -351,7 +351,8 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<!-- Code pour "Accueil" (sans enfants) -->
|
<!-- Code pour "Accueil" (sans enfants) -->
|
||||||
<a href="<?= $menuParent['lienMenu'] ?>"
|
<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>
|
<i class="<?= $menuParent['icone'] ?>"></i>
|
||||||
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
<span class="nav-text"><?= $menuParent['libeleMenu'] ?></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user