diff --git a/public/assets/logo.svg b/public/assets/logo.svg index 03edf122..54f628db 100644 --- a/public/assets/logo.svg +++ b/public/assets/logo.svg @@ -1 +1,43 @@ - + diff --git a/src/lib/components/LinksMenu.svelte b/src/lib/components/LinksMenu.svelte index dd4f642a..9ed85dfe 100644 --- a/src/lib/components/LinksMenu.svelte +++ b/src/lib/components/LinksMenu.svelte @@ -4,6 +4,7 @@ import { classnames } from "lib/utils/classnames"; import { getPublicPath } from 'lib/utils/paths'; import SubMenu from "./SubMenu.svelte"; + import { NavigationHandler } from "../app-context/navigation-handler.model"; const chevronDownIconUrl = getPublicPath(`/assets/ic-chevron-down.svg`); export let ref: Element | undefined = undefined; @@ -13,12 +14,13 @@ export let activeRoute: NavMenuItem = undefined; export let activeRoutePath: NavMenuItem[] = []; export let vertical: boolean = false; + export let navigationHandler: NavigationHandler | undefined = undefined; let hoveredMenuItem: NavMenuItem = undefined; let hoveredElement: HTMLElement = undefined; let isPopupMenuActive: boolean = false; - function isActiveMenu(menuItem: NavMenuItem) { - return activeRoute?.url !== undefined && menuItem.url === activeRoute?.url + function isActiveMenu(menuItem: NavMenuItem, activeMenuItem: NavMenuItem) { + return activeMenuItem?.url !== undefined && menuItem.url === activeMenuItem?.url } function itemHasHoverMenu(menuItem: NavMenuItem) { @@ -42,6 +44,13 @@ itemHasHoverMenu(menuItem) && 'has-menu', ) } + + function handleNavigation(ev: MouseEvent) { + if (typeof navigationHandler === 'function') { + ev.preventDefault() + navigationHandler({label: '', path: (ev.target as HTMLAnchorElement).href}); + } + }