From 98c91a005dc9bce64cb73ae3c82d217a87cb5701 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 28 Mar 2024 18:22:27 +0000 Subject: [PATCH] Filter out invalid links and sublinks --- packages/client/src/components/app/Layout.svelte | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/client/src/components/app/Layout.svelte b/packages/client/src/components/app/Layout.svelte index b7f92101b4..dbf5656480 100644 --- a/packages/client/src/components/app/Layout.svelte +++ b/packages/client/src/components/app/Layout.svelte @@ -117,21 +117,26 @@ return [] } return navItems - .filter(navitem => { + .filter(navItem => { // Strip nav items without text - if (!navitem.text) { + if (!navItem.text) { + return false + } + + // Strip out links without URLs + if (navItem.type !== "sublinks" && !navItem.url) { return false } // Filter to only links allowed by the current role - const role = navitem.roleId || Constants.Roles.BASIC + const role = navItem.roleId || Constants.Roles.BASIC return userRoleHierarchy?.find(roleId => roleId === role) }) .map(navItem => { const enrichedNavItem = enrichNavItem(navItem) if (navItem.type === "sublinks" && navItem.subLinks?.length) { enrichedNavItem.subLinks = navItem.subLinks - .filter(subLink => subLink.text) + .filter(subLink => subLink.text && subLink.url) .map(enrichNavItem) } return enrichedNavItem