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(() => {