mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-22 22:48:15 +02:00
Merge pull request #215 from R0m1k3/1.1
Improve sidebar consistency across different modules
This commit is contained in:
3 files changed
+41
-5
No files matched your search
@@ -52,8 +52,14 @@ export default function Layout({ children }: LayoutProps) {
|
|||||||
|
|
||||||
const [sidebarCollapsed, setSidebarCollapsed] = useState<boolean>(() => {
|
const [sidebarCollapsed, setSidebarCollapsed] = useState<boolean>(() => {
|
||||||
// Restaurer l'état de la sidebar depuis localStorage, mais forcer collapsed sur mobile
|
// Restaurer l'état de la sidebar depuis localStorage, mais forcer collapsed sur mobile
|
||||||
const saved = localStorage.getItem('sidebarCollapsed');
|
try {
|
||||||
return isMobile ? true : (saved ? JSON.parse(saved) : false);
|
const saved = localStorage.getItem('sidebarCollapsed');
|
||||||
|
console.log('🔧 Layout - Restoring sidebar state:', { saved, isMobile });
|
||||||
|
return isMobile ? true : (saved ? JSON.parse(saved) : false);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error reading sidebar state from localStorage:', error);
|
||||||
|
return isMobile ? true : false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
|
||||||
|
|||||||
@@ -54,8 +54,14 @@ export default function Sidebar() {
|
|||||||
|
|
||||||
const toggleSidebar = () => {
|
const toggleSidebar = () => {
|
||||||
const newCollapsed = !sidebarCollapsed;
|
const newCollapsed = !sidebarCollapsed;
|
||||||
|
console.log('🔧 Sidebar - Toggling sidebar:', { from: sidebarCollapsed, to: newCollapsed });
|
||||||
setSidebarCollapsed(newCollapsed);
|
setSidebarCollapsed(newCollapsed);
|
||||||
localStorage.setItem('sidebarCollapsed', JSON.stringify(newCollapsed));
|
try {
|
||||||
|
localStorage.setItem('sidebarCollapsed', JSON.stringify(newCollapsed));
|
||||||
|
console.log('💾 Sidebar state saved to localStorage:', newCollapsed);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error saving sidebar state:', error);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getInitials = (firstName?: string, lastName?: string) => {
|
const getInitials = (firstName?: string, lastName?: string) => {
|
||||||
@@ -170,12 +176,21 @@ export default function Sidebar() {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Classes responsives pour la sidebar
|
// Classes responsives pour la sidebar avec classes CSS forcées pour cohérence
|
||||||
const sidebarClasses = isMobile
|
const sidebarClasses = isMobile
|
||||||
? `fixed inset-y-0 left-0 z-50 w-64 bg-white border-r border-gray-200 shadow-lg transform transition-transform duration-300 ease-in-out ${
|
? `fixed inset-y-0 left-0 z-50 w-64 bg-white border-r border-gray-200 shadow-lg transform transition-transform duration-300 ease-in-out ${
|
||||||
mobileMenuOpen ? 'translate-x-0' : '-translate-x-full'
|
mobileMenuOpen ? 'translate-x-0' : '-translate-x-full'
|
||||||
}`
|
}`
|
||||||
: `${sidebarCollapsed ? 'w-16' : 'w-64'} bg-white border-r border-gray-200 flex flex-col shadow-lg transition-all duration-300 ease-in-out`;
|
: `${sidebarCollapsed ? 'sidebar-collapsed' : 'sidebar-expanded'} bg-white border-r border-gray-200 flex flex-col shadow-lg transition-all duration-300 ease-in-out`;
|
||||||
|
|
||||||
|
// Debug log pour vérifier l'état de la sidebar
|
||||||
|
console.log('🔧 Sidebar Debug:', {
|
||||||
|
isMobile,
|
||||||
|
sidebarCollapsed,
|
||||||
|
mobileMenuOpen,
|
||||||
|
width: sidebarCollapsed ? 'collapsed (64px)' : 'expanded (256px)',
|
||||||
|
classes: sidebarClasses
|
||||||
|
});
|
||||||
|
|
||||||
// Si l'utilisateur n'est pas encore chargé, afficher un état de chargement
|
// Si l'utilisateur n'est pas encore chargé, afficher un état de chargement
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
|||||||
@@ -64,11 +64,26 @@
|
|||||||
@apply font-sans antialiased bg-surface text-foreground;
|
@apply font-sans antialiased bg-surface text-foreground;
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
max-width: 100vw;
|
max-width: 100vw;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#root {
|
#root {
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
max-width: 100vw;
|
max-width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Forcer la cohérence des largeurs de sidebar */
|
||||||
|
.sidebar-collapsed {
|
||||||
|
width: 4rem !important;
|
||||||
|
min-width: 4rem !important;
|
||||||
|
max-width: 4rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-expanded {
|
||||||
|
width: 16rem !important;
|
||||||
|
min-width: 16rem !important;
|
||||||
|
max-width: 16rem !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user