feat(sw-187): Refactor dropdown to keep more logic in main-menu.ts

This commit is contained in:
Pontus Dreij
2024-09-11 11:41:26 +02:00
parent 76c7cfa6f0
commit 2734af5f3f
9 changed files with 104 additions and 77 deletions

View File

@@ -18,7 +18,7 @@ import LoginButton from "../LoginButton"
import styles from "./mainMenu.module.css"
import type { MainMenuProps } from "@/types/components/current/header/mainMenu"
import { DropdownType } from "@/types/components/dropdown/dropdown"
import { DropdownTypeEnum } from "@/types/components/dropdown/dropdown"
export function MainMenu({
frontpageLinkText,
@@ -62,11 +62,8 @@ export function MainMenu({
"/sv/current-content-page",
].includes(pathname)
const { toggleDropdown, openDropdown } = useDropdownStore()
const isMyPagesMobileMenuOpen =
openDropdown === DropdownType.MyPagesMobileMenu
const isHamburgerMenuOpen = openDropdown === DropdownType.HamburgerMenu
const { toggleDropdown, isMyPagesMobileMenuOpen, isHamburgerMenuOpen } =
useDropdownStore()
function handleMyPagesMobileMenuClick() {
// Only track click when opening it
@@ -74,7 +71,7 @@ export function MainMenu({
trackClick("profile picture icon")
}
toggleDropdown(DropdownType.MyPagesMobileMenu)
toggleDropdown(DropdownTypeEnum.MyPagesMobileMenu)
}
return (
@@ -89,7 +86,7 @@ export function MainMenu({
<button
aria-pressed="false"
className={`${styles.expanderBtn} ${isHamburgerMenuOpen ? styles.expanded : ""}`}
onClick={() => toggleDropdown(DropdownType.HamburgerMenu)}
onClick={() => toggleDropdown(DropdownTypeEnum.HamburgerMenu)}
type="button"
>
<span className={styles.iconBars}></span>