fix(SW-184): using more variables and removed variants from navigation menu after PR
This commit is contained in:
@@ -1,10 +0,0 @@
|
|||||||
import Header from "@/components/Header"
|
|
||||||
import { setLang } from "@/i18n/serverContext"
|
|
||||||
|
|
||||||
import type { LangParams, LayoutArgs } from "@/types/params"
|
|
||||||
|
|
||||||
export default function HeaderLayout({ params }: LayoutArgs<LangParams>) {
|
|
||||||
setLang(params.lang)
|
|
||||||
|
|
||||||
return <Header />
|
|
||||||
}
|
|
||||||
@@ -107,6 +107,7 @@
|
|||||||
|
|
||||||
--main-menu-mobile-height: 75px;
|
--main-menu-mobile-height: 75px;
|
||||||
|
|
||||||
|
--header-z-index: 1;
|
||||||
--menu-overlay-z-index: 10;
|
--menu-overlay-z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-radius: 50%;
|
border-radius: var(--Corner-radius-Rounded);
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
background-color: var(--Main-Grey-40);
|
background-color: var(--Main-Grey-40);
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ export default function MobileMenu({
|
|||||||
className={styles.dialog}
|
className={styles.dialog}
|
||||||
aria-label={intl.formatMessage({ id: "Menu" })}
|
aria-label={intl.formatMessage({ id: "Menu" })}
|
||||||
>
|
>
|
||||||
<NavigationMenu variant="mobile" items={mainNavigation} />
|
<NavigationMenu isMobile={true} items={mainNavigation} />
|
||||||
<footer className={styles.footer}>
|
<footer className={styles.footer}>
|
||||||
<HeaderLink href="#">
|
<HeaderLink href="#">
|
||||||
<SearchIcon width={20} height={20} color="burgundy" />
|
<SearchIcon width={20} height={20} color="burgundy" />
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ export default function MyPagesMenuContent({
|
|||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
{menuItem.display_sign_out_link && lang ? (
|
{menuItem.display_sign_out_link ? (
|
||||||
<li>
|
<li>
|
||||||
<Link
|
<Link
|
||||||
href={logout[lang]}
|
href={logout[lang]}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
color: var(--Base-Text-High-contrast);
|
color: var(--Base-Text-High-contrast);
|
||||||
font-family: var(--typography-Body-Bold-fontFamily);
|
font-family: var(--typography-Body-Bold-fontFamily);
|
||||||
font-size: var(--typography-Body-Bold-fontSize);
|
font-size: var(--typography-Body-Bold-fontSize);
|
||||||
font-weight: 500;
|
font-weight: var(--typography-Body-Bold-fontWeight);
|
||||||
line-height: var(--typography-Body-Bold-lineHeight);
|
line-height: var(--typography-Body-Bold-lineHeight);
|
||||||
letter-spacing: var(--typography-Body-Bold-letterSpacing);
|
letter-spacing: var(--typography-Body-Bold-letterSpacing);
|
||||||
border-radius: var(--Corner-radius-Medium);
|
border-radius: var(--Corner-radius-Medium);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 767px) {
|
@media screen and (min-width: 768px) {
|
||||||
.myPagesMobileMenu,
|
.myPagesMobileMenu,
|
||||||
.modal {
|
.modal {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
@@ -6,16 +6,14 @@ import { ChevronDownIcon, ChevronRightIcon } from "@/components/Icons"
|
|||||||
import Link from "@/components/TempDesignSystem/Link"
|
import Link from "@/components/TempDesignSystem/Link"
|
||||||
|
|
||||||
import MainMenuButton from "../../MainMenuButton"
|
import MainMenuButton from "../../MainMenuButton"
|
||||||
import { navigationMenuItemVariants } from "./variants"
|
|
||||||
|
|
||||||
import styles from "./navigationMenuItem.module.css"
|
import styles from "./navigationMenuItem.module.css"
|
||||||
|
|
||||||
import type { NavigationMenuItemProps } from "@/types/components/header/navigationMenuItem"
|
import type { NavigationMenuItemProps } from "@/types/components/header/navigationMenuItem"
|
||||||
|
|
||||||
export default function MenuItem({ item, variant }: NavigationMenuItemProps) {
|
export default function MenuItem({ item, isMobile }: NavigationMenuItemProps) {
|
||||||
const { children, title, href, seeAllLinkText, infoCard } = item
|
const { children, title, href, seeAllLinkText, infoCard } = item
|
||||||
const [isExpanded, setIsExpanded] = useState(false)
|
const [isExpanded, setIsExpanded] = useState(false)
|
||||||
const isMobile = variant === "mobile"
|
|
||||||
|
|
||||||
function handleButtonClick() {
|
function handleButtonClick() {
|
||||||
setIsExpanded((prev) => !prev)
|
setIsExpanded((prev) => !prev)
|
||||||
@@ -24,7 +22,7 @@ export default function MenuItem({ item, variant }: NavigationMenuItemProps) {
|
|||||||
return children?.length ? (
|
return children?.length ? (
|
||||||
<MainMenuButton
|
<MainMenuButton
|
||||||
onClick={handleButtonClick}
|
onClick={handleButtonClick}
|
||||||
className={navigationMenuItemVariants({ variant })}
|
className={`${styles.navigationMenuItem} ${isMobile ? styles.mobile : styles.desktop}`}
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
{isMobile ? (
|
{isMobile ? (
|
||||||
@@ -40,7 +38,7 @@ export default function MenuItem({ item, variant }: NavigationMenuItemProps) {
|
|||||||
<Link
|
<Link
|
||||||
href={href}
|
href={href}
|
||||||
color="burgundy"
|
color="burgundy"
|
||||||
className={navigationMenuItemVariants({ variant })}
|
className={`${styles.navigationMenuItem} ${isMobile ? styles.mobile : styles.desktop}`}
|
||||||
>
|
>
|
||||||
{title}
|
{title}
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
import { cva } from "class-variance-authority"
|
|
||||||
|
|
||||||
import styles from "./navigationMenuItem.module.css"
|
|
||||||
|
|
||||||
export const navigationMenuItemVariants = cva(styles.navigationMenuItem, {
|
|
||||||
variants: {
|
|
||||||
variant: {
|
|
||||||
default: styles.default,
|
|
||||||
mobile: styles.mobile,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
defaultVariants: {
|
|
||||||
variant: "default",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import NavigationMenuItem from "./NavigationMenuItem"
|
import NavigationMenuItem from "./NavigationMenuItem"
|
||||||
import { navigationMenuVariants } from "./variants"
|
|
||||||
|
|
||||||
import styles from "./navigationMenu.module.css"
|
import styles from "./navigationMenu.module.css"
|
||||||
|
|
||||||
@@ -7,13 +6,15 @@ import type { NavigationMenuProps } from "@/types/components/header/navigationMe
|
|||||||
|
|
||||||
export default function NavigationMenu({
|
export default function NavigationMenu({
|
||||||
items,
|
items,
|
||||||
variant,
|
isMobile,
|
||||||
}: NavigationMenuProps) {
|
}: NavigationMenuProps) {
|
||||||
return (
|
return (
|
||||||
<ul className={navigationMenuVariants({ variant })}>
|
<ul
|
||||||
|
className={`${styles.navigationMenu} ${isMobile ? styles.mobile : styles.desktop}`}
|
||||||
|
>
|
||||||
{items.map((item) => (
|
{items.map((item) => (
|
||||||
<li key={item.id} className={styles.item}>
|
<li key={item.id} className={styles.item}>
|
||||||
<NavigationMenuItem variant={variant} item={item} />
|
<NavigationMenuItem isMobile={isMobile} item={item} />
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
.navigationMenu.default {
|
.navigationMenu.desktop {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
import { cva } from "class-variance-authority"
|
|
||||||
|
|
||||||
import styles from "./navigationMenu.module.css"
|
|
||||||
|
|
||||||
export const navigationMenuVariants = cva(styles.navigationMenu, {
|
|
||||||
variants: {
|
|
||||||
variant: {
|
|
||||||
default: styles.default,
|
|
||||||
mobile: styles.mobile,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
defaultVariants: {
|
|
||||||
variant: "default",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
@@ -44,7 +44,7 @@ export default async function MainMenu({ languageUrls }: MainMenuProps) {
|
|||||||
/>
|
/>
|
||||||
</NextLink>
|
</NextLink>
|
||||||
<div className={styles.menus}>
|
<div className={styles.menus}>
|
||||||
<NavigationMenu items={navigationMenuItems} />
|
<NavigationMenu items={navigationMenuItems} isMobile={false} />
|
||||||
{user ? (
|
{user ? (
|
||||||
<>
|
<>
|
||||||
<MyPagesMenu
|
<MyPagesMenu
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
gap: var(--Spacing-x1);
|
gap: var(--Spacing-x1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.userName {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
.nav {
|
.nav {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -44,4 +48,7 @@
|
|||||||
.menus {
|
.menus {
|
||||||
display: contents;
|
display: contents;
|
||||||
}
|
}
|
||||||
|
.userName {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
.header {
|
.header {
|
||||||
|
position: relative;
|
||||||
font-family: var(--typography-Body-Regular-fontFamily);
|
font-family: var(--typography-Body-Regular-fontFamily);
|
||||||
color: var(--Base-Text-High-contrast);
|
color: var(--Base-Text-High-contrast);
|
||||||
|
box-shadow: 0 6px 10px rgba(0, 0, 0, 0.08);
|
||||||
|
z-index: var(--header-z-index);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
.link.active,
|
.link.active,
|
||||||
.link:hover {
|
.link:hover {
|
||||||
background-color: var(--Base-Surface-Primary-light-Hover-alt);
|
background-color: var(--Base-Surface-Primary-light-Hover-alt);
|
||||||
font-weight: 500;
|
font-weight: var(--typography-Body-Bold-fontWeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ type MyPagesNavigation = Awaited<
|
|||||||
export interface MyPagesMenuProps {
|
export interface MyPagesMenuProps {
|
||||||
navigation: MyPagesNavigation
|
navigation: MyPagesNavigation
|
||||||
user: Pick<User, "firstName" | "lastName">
|
user: Pick<User, "firstName" | "lastName">
|
||||||
membership: MembershipLevel | null | undefined
|
membership?: MembershipLevel | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MyPagesMenuContentProps extends MyPagesMenuProps {
|
export interface MyPagesMenuContentProps extends MyPagesMenuProps {
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
import { VariantProps } from "class-variance-authority"
|
|
||||||
|
|
||||||
import { navigationMenuVariants } from "@/components/Header/MainMenu/NavigationMenu/variants"
|
|
||||||
|
|
||||||
import type { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
|
import type { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
|
||||||
|
|
||||||
export interface NavigationMenuProps
|
export interface NavigationMenuProps {
|
||||||
extends VariantProps<typeof navigationMenuVariants> {
|
|
||||||
items: MainNavigationItem[]
|
items: MainNavigationItem[]
|
||||||
|
isMobile: boolean
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
import { VariantProps } from "class-variance-authority"
|
|
||||||
|
|
||||||
import { navigationMenuItemVariants } from "@/components/Header/MainMenu/NavigationMenu/NavigationMenuItem/variants"
|
|
||||||
|
|
||||||
import type { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
|
import type { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
|
||||||
|
|
||||||
export interface NavigationMenuItemProps
|
export interface NavigationMenuItemProps {
|
||||||
extends VariantProps<typeof navigationMenuItemVariants> {
|
|
||||||
item: MainNavigationItem
|
item: MainNavigationItem
|
||||||
|
isMobile: boolean
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user