From d69acd587247b65344bfe69a3ebae716e23e45d7 Mon Sep 17 00:00:00 2001 From: Christian Vidal Wolf Date: Tue, 12 May 2026 12:08:21 +0200 Subject: [PATCH] fix: skip column filter when all values selected in Cosmetic Items tab Co-Authored-By: claude-flow --- src/components/CosmeticItemsView.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/CosmeticItemsView.tsx b/src/components/CosmeticItemsView.tsx index 96bcd9a..79f8578 100644 --- a/src/components/CosmeticItemsView.tsx +++ b/src/components/CosmeticItemsView.tsx @@ -53,7 +53,11 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro }, [data, COLUMNS]); const getUniqueValues = (col: number): string[] => - Array.from(columnUniqueValues[col] as Set ?? []).sort(); + Array.from(columnUniqueValues[col] as Set ?? []).sort((a, b) => { + const na = parseFloat(a), nb = parseFloat(b); + if (!isNaN(na) && !isNaN(nb)) return na - nb; + return a.localeCompare(b); + }); const filteredData = useMemo(() => { let result = data.map((row, index) => ({ row, index })); @@ -78,6 +82,8 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro (Object.entries(columnFilters) as [string, string[]][]).forEach(([colIdx, filterValues]) => { if (!filterValues || filterValues.length === 0) return; const colNum = parseInt(colIdx); + const allVals = getUniqueValues(colNum); + if (filterValues.length >= allVals.length) return; result = result.filter(({ row }) => { const val = String(row[colNum] ?? ''); return filterValues.includes(val);