diff --git a/src/components/CosmeticItemsView.tsx b/src/components/CosmeticItemsView.tsx index e6428c9..0f41331 100644 --- a/src/components/CosmeticItemsView.tsx +++ b/src/components/CosmeticItemsView.tsx @@ -82,6 +82,9 @@ 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 knownCount = columnUniqueValues[colNum]?.size ?? 0; + // All known values selected → no filtering needed + if (filterValues.length >= knownCount) return; const normalize = (v: any) => String(v ?? '').replace(/\s+/g, ' ').trim(); const filterSet = new Set(filterValues.map(normalize)); result = result.filter(({ row }) => filterSet.has(normalize(row[colNum]))); @@ -102,7 +105,7 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro } return result; - }, [data, search, sortCol, sortDesc, columnFilters, COLUMNS]); + }, [data, search, sortCol, sortDesc, columnFilters, COLUMNS, columnUniqueValues]); const paginatedData = useMemo(() => { const start = (page - 1) * pageSize; @@ -292,18 +295,29 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro - ) : ( - - )} + ) : (() => { + const cpnpVal = String(row[COLUMNS.CPNP_NO] ?? '').trim(); + return cpnpVal ? ( + + ) : ( + + ); + })()} );