From 2b6990c3ddcbb7b673c8bcb3c7deb6dea7d3a66a Mon Sep 17 00:00:00 2001 From: Adi <6841988+DeepSpace2@users.noreply.github.com> Date: Sun, 5 Jan 2025 17:15:32 +0200 Subject: [PATCH] Fix nested services not showing up in quick launch --- src/pages/index.jsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pages/index.jsx b/src/pages/index.jsx index 7dbadbf1..d09f2631 100644 --- a/src/pages/index.jsx +++ b/src/pages/index.jsx @@ -166,6 +166,22 @@ const headerStyles = { boxedWidgets: "m-5 mb-0 sm:m-9 sm:mb-0 sm:mt-1", }; +function getAllServices(services) { + function get(sg){ + let nestedServices = []; + if (sg.groups.length > 0) { + nestedServices = [...nestedServices, ...sg.groups.map(get).flat()] + } + nestedServices = [...nestedServices, ...sg.services.flat()] + return nestedServices; + } + + return [ + ...services.map(get).flat() + ]; + +} + function Home({ initialSettings }) { const { i18n } = useTranslation(); const { theme, setTheme } = useContext(ThemeContext); @@ -183,8 +199,8 @@ function Home({ initialSettings }) { const { data: widgets } = useSWR("/api/widgets"); const servicesAndBookmarks = [ - ...services.map((sg) => sg.services).flat(), ...bookmarks.map((bg) => bg.bookmarks).flat(), + ...getAllServices(services) ].filter((i) => i?.href); useEffect(() => {