feat(SW-184): implementing mobile design

This commit is contained in:
Erik Tiekstra
2024-08-21 14:38:29 +02:00
parent b51a4c46e8
commit a2e2cf575e
44 changed files with 526 additions and 111 deletions

View File

@@ -2,33 +2,46 @@
import { useState } from "react"
import { ChevronDownIcon } from "@/components/Icons"
import { ChevronDownIcon, ChevronRightIcon } from "@/components/Icons"
import Link from "@/components/TempDesignSystem/Link"
import MainMenuButton from "../../MainMenuButton"
import { navigationMenuItemVariants } from "./variants"
import styles from "./navigationMenuItem.module.css"
import { NavigationMenuItemProps } from "@/types/components/header/navigationMenuItem"
export default function MenuItem({ item }: NavigationMenuItemProps) {
export default function MenuItem({ item, variant }: NavigationMenuItemProps) {
const { children, title, href, seeAllLinkText, infoCard } = item
const [isExpanded, setIsExpanded] = useState(false)
const isMobile = variant === "mobile"
function handleButtonClick() {
setIsExpanded((prev) => !prev)
}
return children?.length ? (
<MainMenuButton onClick={handleButtonClick}>
<MainMenuButton
onClick={handleButtonClick}
className={navigationMenuItemVariants({ variant })}
>
{title}
<ChevronDownIcon
className={`${styles.chevron} ${isExpanded ? styles.isExpanded : ""}`}
color="red"
/>
{isMobile ? (
<ChevronRightIcon className={`${styles.chevron}`} color="red" />
) : (
<ChevronDownIcon
className={`${styles.chevron} ${isExpanded ? styles.isExpanded : ""}`}
color="red"
/>
)}
</MainMenuButton>
) : (
<Link href={href} color="burgundy">
<Link
href={href}
color="burgundy"
className={navigationMenuItemVariants({ variant })}
>
{title}
</Link>
)