diff --git a/src/app/api/grid/rows/route.ts b/src/app/api/grid/rows/route.ts index 53e7478..6f8f72e 100644 --- a/src/app/api/grid/rows/route.ts +++ b/src/app/api/grid/rows/route.ts @@ -22,10 +22,12 @@ export async function GET(request: NextRequest) { const search = searchParams.get("search") ?? undefined; const gamme = searchParams.get("gamme") ?? undefined; const code3 = searchParams.get("code3") ?? undefined; + const magasin = searchParams.get("magasin") ?? undefined; try { const result = await getProductRows({ codeFournisseur, + magasin, page: isNaN(page) ? 0 : page, pageSize: isNaN(pageSize) ? 200 : pageSize, offset: offset !== undefined && !isNaN(offset) ? offset : undefined, diff --git a/src/features/grid/components/grid-client.tsx b/src/features/grid/components/grid-client.tsx index 0376340..e4b0707 100644 --- a/src/features/grid/components/grid-client.tsx +++ b/src/features/grid/components/grid-client.tsx @@ -52,6 +52,7 @@ export function GridClient({ initialRows, initialTotal, codeFournisseur, nomFour const { total, isLoadingMore, hasMore, loadNextPage, stopLoading, progress } = useInfiniteGrid({ codeFournisseur, + magasin: magasin || "TOTAL", initialTotal, pageSize: 10000, onPageLoaded: handlePageLoaded diff --git a/src/features/grid/hooks/use-infinite-grid.ts b/src/features/grid/hooks/use-infinite-grid.ts index dd096f0..b9cf781 100644 --- a/src/features/grid/hooks/use-infinite-grid.ts +++ b/src/features/grid/hooks/use-infinite-grid.ts @@ -7,6 +7,7 @@ export interface InfiniteGridOptions { codeFournisseur: string | null; initialTotal: number; pageSize?: number; + magasin?: string; search?: string; gamme?: string | null; code3?: string | null; @@ -28,6 +29,7 @@ export function useInfiniteGrid({ codeFournisseur, initialTotal, pageSize = 10000, + magasin, search, gamme, code3, @@ -58,9 +60,10 @@ export function useInfiniteGrid({ if (search) params.set("search", search); if (gamme) params.set("gamme", gamme); if (code3) params.set("code3", code3); + if (magasin) params.set("magasin", magasin); return `/api/grid/rows?${params.toString()}`; }, - [codeFournisseur, pageSize, search, gamme, code3] + [codeFournisseur, pageSize, search, gamme, code3, magasin] ); useEffect(() => { @@ -70,7 +73,7 @@ export function useInfiniteGrid({ setIsStopped(false); loadedPagesRef.current = new Set([0]); fetchIdRef.current += 1; - }, [codeFournisseur, initialTotal, search, gamme, code3]); + }, [codeFournisseur, initialTotal, search, gamme, code3, magasin]); const loadNextPage = useCallback(async () => { if (!codeFournisseur || isLoadingMore || isStopped) return;