Checkpoint: Correction du layout de la sidebar : la nav utilise maintenant flex: 1 1 0 avec minHeight: 0 et overflowY: auto, et l'aside a height: 100vh avec overflow: hidden. Cela garantit que le bouton Paramètres reste toujours visible en bas, même quand les sous-menus Établissements ou DSI sont ouverts et que le contenu dépasse la hauteur de l'écran.

This commit is contained in:
Manus
2026-06-03 15:55:36 +00:00
parent 9734ae9e93
commit f9ea5dbba5

View File

@@ -238,7 +238,7 @@ export function AppSidebar({ collapsed = false, onToggle }: AppSidebarProps) {
return ( return (
<aside <aside
className={`flex-shrink-0 text-white flex flex-col transition-all duration-300 ${collapsed ? 'w-14' : 'w-64'}`} className={`flex-shrink-0 text-white flex flex-col transition-all duration-300 ${collapsed ? 'w-14' : 'w-64'}`}
style={{ minHeight: '100vh', background: 'oklch(0.20 0.055 245)' }} style={{ height: '100vh', position: 'sticky', top: 0, background: 'oklch(0.20 0.055 245)', overflow: 'hidden' }}
> >
{/* Logo / Titre */} {/* Logo / Titre */}
<div className="px-3 py-4 border-b border-white/10 flex items-center gap-3"> <div className="px-3 py-4 border-b border-white/10 flex items-center gap-3">
@@ -264,7 +264,7 @@ export function AppSidebar({ collapsed = false, onToggle }: AppSidebarProps) {
</div> </div>
{/* Navigation principale */} {/* Navigation principale */}
<nav className="flex-1 py-2 overflow-y-auto space-y-0.5"> <nav className="py-2 space-y-0.5" style={{ flex: '1 1 0', minHeight: 0, overflowY: 'auto' }}>
{NAV_SECTIONS.map(section => { {NAV_SECTIONS.map(section => {
const c = colors(section.id); const c = colors(section.id);
const isActive = sectionHasActive(section, location); const isActive = sectionHasActive(section, location);