diff --git a/src/components/admin/studio/studio-client.tsx b/src/components/admin/studio/studio-client.tsx index c3c5179d..7c2daaa6 100644 --- a/src/components/admin/studio/studio-client.tsx +++ b/src/components/admin/studio/studio-client.tsx @@ -151,17 +151,16 @@ export function StudioClient({ result = result.filter((i) => i.category === categoryFilter); } if (statusFilter !== "all") { - if (statusFilter === "new") - result = result.filter((i) => !i.alreadyImported); - else if (statusFilter === "imported") + if (statusFilter === "imported") result = result.filter((i) => i.alreadyImported); else if (statusFilter === "inCatalog") result = result.filter((i) => i.alreadyImported && i.nitroExists); else if (statusFilter === "missingNitro") result = result.filter((i) => i.alreadyImported && !i.nitroExists); - else if (statusFilter === "notImported") - result = result.filter((i) => !i.alreadyImported); } + // Not imported filter - works independently (also with statusFilter === "all") + if (statusFilter === "notImported" || statusFilter === "all") + result = result.filter((i) => i.alreadyImported === false); const sorted = [...result]; if (sortBy === "name") sorted.sort((a, b) => a.name.localeCompare(b.name)); else if (sortBy === "classname") @@ -597,6 +596,11 @@ export function StudioClient({ [filteredItems], ); + const notImportedCount = useMemo( + () => filteredItems.filter((i) => i.alreadyImported === false).length, + [filteredItems], + ); + return (
- All statuses - Not imported + + All statuses {notImportedCount > 0 && notImportedCount} + Imported In catalog Missing nitro