diff --git a/attached_assets/image_1755028590113.png b/attached_assets/image_1755028590113.png deleted file mode 100644 index f24fd77..0000000 Binary files a/attached_assets/image_1755028590113.png and /dev/null differ diff --git a/attached_assets/image_1755030067472.png b/attached_assets/image_1755030067472.png deleted file mode 100644 index d20aa54..0000000 Binary files a/attached_assets/image_1755030067472.png and /dev/null differ diff --git a/attached_assets/image_1755030363409.png b/attached_assets/image_1755030363409.png deleted file mode 100644 index a4c87e7..0000000 Binary files a/attached_assets/image_1755030363409.png and /dev/null differ diff --git a/client/src/components/CustomerOrderForm.tsx b/client/src/components/CustomerOrderForm.tsx index da78519..7f0575c 100644 --- a/client/src/components/CustomerOrderForm.tsx +++ b/client/src/components/CustomerOrderForm.tsx @@ -99,7 +99,7 @@ export function CustomerOrderForm({ quantity: order?.quantity || 1, supplierId: order?.supplierId || undefined, status: "En attente de Commande", // Statut fixe - deposit: Number(order?.deposit) || 0, + deposit: order?.deposit || 0, isPromotionalPrice: order?.isPromotionalPrice || false, customerNotified: order?.customerNotified || false, groupId: getDefaultGroupId(), // ✅ PRIORITÉ CORRECTE APPLIQUÉE @@ -125,7 +125,7 @@ export function CustomerOrderForm({ selectedStoreId, userHasGroups: !!user?.userGroups, userGroupsLength: user?.userGroups?.length, - userGroups: user?.userGroups?.map((ug: any) => ({ + userGroups: user?.userGroups?.map(ug => ({ groupId: ug.groupId || ug.group?.id, groupName: ug.group?.name, fullGroupData: ug @@ -156,7 +156,7 @@ export function CustomerOrderForm({ contactNumber: data.contactNumber || '', productName: data.productName || '', quantity: data.quantity, - groupId: typeof groupId === 'number' ? groupId : parseInt(groupId?.toString() || '1'), + groupId: typeof groupId === 'number' ? groupId : parseInt(groupId.toString()), isPickup: false, notes: data.notes, deposit: data.deposit || 0, @@ -173,7 +173,7 @@ export function CustomerOrderForm({ // Get available groups for the user const availableGroups = user?.role === 'admin' ? groups - : user?.userGroups?.map((ug: any) => ug.group) || []; + : user?.userGroups?.map(ug => ug.group) || []; // Auto-select group for users respecting admin store selection const currentGroupId = form.getValues('groupId'); diff --git a/client/src/components/Layout.tsx b/client/src/components/Layout.tsx index 13f954c..6acc5be 100644 --- a/client/src/components/Layout.tsx +++ b/client/src/components/Layout.tsx @@ -2,9 +2,8 @@ import { ReactNode, useState, createContext, useContext } from "react"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Button } from "@/components/ui/button"; -import { LogOut, Store, Menu, X } from "lucide-react"; +import { LogOut, Store } from "lucide-react"; import { useAuthUnified } from "@/hooks/useAuthUnified"; -import { useResponsive } from "@/hooks/useResponsive"; import Sidebar from "./Sidebar"; import type { Group } from "@shared/schema"; @@ -14,8 +13,6 @@ interface StoreContextType { stores: Group[]; sidebarCollapsed: boolean; setSidebarCollapsed: (collapsed: boolean) => void; - mobileMenuOpen: boolean; - setMobileMenuOpen: (open: boolean) => void; } const StoreContext = createContext(undefined); @@ -35,8 +32,6 @@ interface LayoutProps { export default function Layout({ children }: LayoutProps) { const { user } = useAuthUnified(); const queryClient = useQueryClient(); - const { isMobile, isTablet, isDesktop } = useResponsive(); - const [selectedStoreId, setSelectedStoreId] = useState(() => { // Restaurer le selectedStoreId depuis localStorage si disponible const saved = localStorage.getItem('selectedStoreId'); @@ -48,12 +43,9 @@ export default function Layout({ children }: LayoutProps) { const [sidebarCollapsed, setSidebarCollapsed] = useState(() => { // Restaurer l'état de la sidebar depuis localStorage const saved = localStorage.getItem('sidebarCollapsed'); - // Sur mobile, toujours collapsé par défaut - return saved ? JSON.parse(saved) : isMobile; + return saved ? JSON.parse(saved) : false; }); - const [mobileMenuOpen, setMobileMenuOpen] = useState(false); - const { data: stores = [] } = useQuery({ queryKey: ['/api/groups'], enabled: !!user, @@ -64,56 +56,20 @@ export default function Layout({ children }: LayoutProps) { }; return ( - -
- {/* Mobile Sidebar Overlay */} - {isMobile && mobileMenuOpen && ( - <> -
setMobileMenuOpen(false)} - /> -
- -
- - )} - - {/* Desktop Sidebar */} - {!isMobile && } - -
+ +
+ +
{/* Header with store selector for admin */} -
+
- {/* Mobile menu button */} - {isMobile && ( - - )} -

LogiFlow

+

LogiFlow

{/* Store selector for admin - moved to top right */} {user?.role === 'admin' && stores.length > 0 && (
- +