From 92b0ba3b18a177c1fcb1761cbd3f9baf6d7cfb1b Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 21 Aug 2026 13:41:06 +0200 Subject: [PATCH] fix: make notImported studio filter work independently of import status --- src/components/admin/studio/studio-client.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) 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