From 772c7993bf26d5dc6b917fffa9f66ea182766334 Mon Sep 17 00:00:00 2001 From: beatz174-bit Date: Mon, 24 Nov 2025 15:58:09 +1000 Subject: [PATCH] Revert "Preserve pick list item ordering by creation time" --- src/screens/ActivePickListScreen.tsx | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/screens/ActivePickListScreen.tsx b/src/screens/ActivePickListScreen.tsx index 95ddf2b..f5ffe3c 100644 --- a/src/screens/ActivePickListScreen.tsx +++ b/src/screens/ActivePickListScreen.tsx @@ -78,20 +78,25 @@ export const ActivePickListScreen = () => { const sortedItems = useMemo(() => { return [...itemsVisibleByStatus].sort((a, b) => { - const timeA = a.created_at ?? 0; - const timeB = b.created_at ?? 0; - - if (timeA !== timeB) { - return timeA - timeB; - } - const productA = productMap.get(a.product_id); const productB = productMap.get(b.product_id); const nameA = productA?.name.trim().toLowerCase() ?? ''; const nameB = productB?.name.trim().toLowerCase() ?? ''; - return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' }); + const nameComparison = nameA.localeCompare(nameB, undefined, { sensitivity: 'base' }); + if (nameComparison !== 0) { + return nameComparison; + } + + if (a.is_carton !== b.is_carton) { + return a.is_carton ? 1 : -1; + } + + const timeA = a.updated_at ?? a.created_at; + const timeB = b.updated_at ?? b.created_at; + + return timeA - timeB; }); }, [itemsVisibleByStatus, productMap]);