diff --git a/src/components/NavBar.astro b/src/components/NavBar.astro index 934b61e..c1ea063 100644 --- a/src/components/NavBar.astro +++ b/src/components/NavBar.astro @@ -8,6 +8,7 @@ interface NavElement { title: string; type: "simple" | "dropdown"; url: string; + showForLoggedIn: boolean; dropdowns?: Array; } @@ -16,40 +17,49 @@ const lang = await getLocales(getHighestWeightedLanguage(Astro.request.headers.g const listOfElements: Array = [{ title: lang["Link_home"], type: "simple", - url: "/" + url: "/", + showForLoggedIn: true }, { title: lang["Link_login"], type: "simple", - url: "/login" + url: "/login", + showForLoggedIn: false }, { title: lang["Link_register"], type: "simple", - url: "/register" + url: "/register", + showForLoggedIn: false },{ title: lang["Link_dropdown"], type: "dropdown", url: "about:blank", + showForLoggedIn: true, dropdowns: [{ title: "drop1", type: "simple", - url: "aaa" + url: "aaa", + showForLoggedIn: true }, { title: "drop2", type: "simple", - url: "aaa" + url: "aaa", + showForLoggedIn: true }, { title: "drop3", type: "simple", - url: "aaa" + url: "aaa", + showForLoggedIn: true }] }]; const { loggedIn } = Astro.props; + +const filteredList = listOfElements.filter(element => (element.showForLoggedIn && loggedIn === "true") || loggedIn === "false"); ---