mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-19 21:18:25 +02:00
merge(main): resolve conflicts keeping codefou + email on suppliers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
b8ecacee3b
20 files changed
+719
-299
No files matched your search
@@ -186,11 +186,6 @@ export default function Sidebar() {
|
||||
}
|
||||
};
|
||||
|
||||
// Debug logging pour production
|
||||
console.log('Sidebar - User:', user);
|
||||
console.log('Sidebar - isLoading:', isLoading);
|
||||
console.log('Sidebar - error:', error);
|
||||
|
||||
const handleLogout = async () => {
|
||||
try {
|
||||
// Force logout via fetch to ensure session is destroyed
|
||||
@@ -208,13 +203,11 @@ export default function Sidebar() {
|
||||
|
||||
const toggleSidebar = () => {
|
||||
const newCollapsed = !sidebarCollapsed;
|
||||
console.log('🔧 Sidebar - Toggling sidebar:', { from: sidebarCollapsed, to: newCollapsed });
|
||||
setSidebarCollapsed(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);
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
};
|
||||
|
||||
@@ -291,12 +284,6 @@ export default function Sidebar() {
|
||||
icon: BarChart3,
|
||||
roles: ["admin", "directeur", "manager"]
|
||||
},
|
||||
{
|
||||
path: "/sales-analysis",
|
||||
label: "Analyse Vente",
|
||||
icon: TrendingUp,
|
||||
roles: ["admin", "directeur"]
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -377,12 +364,7 @@ export default function Sidebar() {
|
||||
];
|
||||
|
||||
const hasPermission = (roles: string[]) => {
|
||||
const hasRole = user?.role && roles.includes(user.role);
|
||||
// Debug uniquement en développement pour éviter spam console
|
||||
if (import.meta.env.MODE === 'development') {
|
||||
console.log('hasPermission check:', { userRole: user?.role, roles, hasRole });
|
||||
}
|
||||
return hasRole;
|
||||
return user?.role && roles.includes(user.role);
|
||||
};
|
||||
|
||||
|
||||
@@ -405,14 +387,6 @@ export default function Sidebar() {
|
||||
|
||||
const sidebarClasses = getSidebarClasses();
|
||||
|
||||
// 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
|
||||
if (isLoading) {
|
||||
@@ -584,7 +558,7 @@ export default function Sidebar() {
|
||||
</div>
|
||||
|
||||
{/* Navigation */}
|
||||
<nav className="flex-1 py-2 px-3 overflow-y-hidden">
|
||||
<nav className="flex-1 py-2 px-3 overflow-y-auto">
|
||||
<div className="space-y-3">
|
||||
{menuSections.map((section, sectionIndex) => {
|
||||
// Vérifier si au moins un item de la section est accessible
|
||||
@@ -817,12 +791,12 @@ export default function Sidebar() {
|
||||
<SelectValue placeholder="🎯 Choisir le destinataire" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="Prissela" className="py-3">
|
||||
<SelectItem value="Laurie" className="py-3">
|
||||
<div className="flex items-center space-x-3">
|
||||
<div className="h-8 w-8 bg-purple-100 rounded-full flex items-center justify-center">
|
||||
<span className="text-sm font-medium text-purple-600">P</span>
|
||||
<span className="text-sm font-medium text-purple-600">L</span>
|
||||
</div>
|
||||
<span className="font-medium">Prissela</span>
|
||||
<span className="font-medium">Laurie</span>
|
||||
</div>
|
||||
</SelectItem>
|
||||
<SelectItem value="Jeremy" className="py-3">
|
||||
|
||||
Reference in new issue
Block a user