diff --git a/frontend/src/app/scripts/_components/Sidebar.tsx b/frontend/src/app/scripts/_components/Sidebar.tsx index 3680210..52dcf8c 100644 --- a/frontend/src/app/scripts/_components/Sidebar.tsx +++ b/frontend/src/app/scripts/_components/Sidebar.tsx @@ -4,40 +4,42 @@ import type { Category, Script } from "@/lib/types"; import ScriptAccordion from "./ScriptAccordion"; const Sidebar = ({ - items, - selectedScript, - setSelectedScript, + items, + selectedScript, + setSelectedScript, }: { - items: Category[]; - selectedScript: string | null; - setSelectedScript: (script: string | null) => void; + items: Category[]; + selectedScript: string | null; + setSelectedScript: (script: string | null) => void; }) => { - const uniqueScripts = items.reduce((acc, category) => { - for (const script of category.scripts) { - if (!acc.some((s) => s.name === script.name)) { - acc.push(script); - } - } - return acc; - }, [] as Script[]); + const filteredItems = items.filter(category => category.scripts && category.scripts.length > 0); - return ( -
-
-

Categories

-

- {uniqueScripts.length} Total scripts -

-
-
- -
-
- ); + const uniqueScripts = filteredItems.reduce((acc, category) => { + for (const script of category.scripts) { + if (!acc.some((s) => s.name === script.name)) { + acc.push(script); + } + } + return acc; + }, [] as Script[]); + + return ( +
+
+

Categories

+

+ {uniqueScripts.length} Total scripts +

+
+
+ +
+
+ ); }; -export default Sidebar; \ No newline at end of file +export default Sidebar;