From 79b4c3fe12f71f48e0c632272f71c9e35f972f3d Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Thu, 29 Aug 2024 14:59:21 +0200 Subject: [PATCH] fix(SW-184): added membership level and points to menu --- app/globals.css | 2 +- .../Header/MainMenu/mainMenu.module.css | 2 +- components/Current/Header/header.module.css | 2 +- .../Header/MainMenu/MyPagesMenu/index.tsx | 7 ++++- .../MainMenu/MyPagesMenuContent/index.tsx | 28 +++++++++++++++---- .../myPagesMenuContent.module.css | 1 + .../MainMenu/MyPagesMobileMenu/index.tsx | 2 ++ components/Header/MainMenu/index.tsx | 13 +++++++-- components/Lightbox/Lightbox.module.css | 4 +-- .../SidePeek/sidePeek.module.css | 8 +++--- i18n/dictionaries/da.json | 2 +- i18n/dictionaries/en.json | 2 +- i18n/dictionaries/no.json | 2 +- types/components/header/myPagesMenu.ts | 3 ++ 14 files changed, 58 insertions(+), 20 deletions(-) diff --git a/app/globals.css b/app/globals.css index 71027f9e7..06f34e25d 100644 --- a/app/globals.css +++ b/app/globals.css @@ -102,7 +102,7 @@ --max-width: 94.5rem; --max-width-content: 74.75rem; --max-width-text-block: 49.5rem; - --mobile-site-header-height: 70.047px; + --current-mobile-site-header-height: 70.047px; --max-width-navigation: 89.5rem; --main-menu-mobile-height: 75px; diff --git a/components/Current/Header/MainMenu/mainMenu.module.css b/components/Current/Header/MainMenu/mainMenu.module.css index af3f3eee4..122abdc4f 100644 --- a/components/Current/Header/MainMenu/mainMenu.module.css +++ b/components/Current/Header/MainMenu/mainMenu.module.css @@ -8,7 +8,7 @@ top: 0; width: 100%; z-index: 99999; - height: var(--mobile-site-header-height); + height: var(--current-mobile-site-header-height); } .container { diff --git a/components/Current/Header/header.module.css b/components/Current/Header/header.module.css index 1e91a497c..91b5581a4 100644 --- a/components/Current/Header/header.module.css +++ b/components/Current/Header/header.module.css @@ -4,6 +4,6 @@ @media screen and (max-width: 1366px) { .header { - height: var(--mobile-site-header-height); + height: var(--current-mobile-site-header-height); } } diff --git a/components/Header/MainMenu/MyPagesMenu/index.tsx b/components/Header/MainMenu/MyPagesMenu/index.tsx index 5d408cd32..8398ff840 100644 --- a/components/Header/MainMenu/MyPagesMenu/index.tsx +++ b/components/Header/MainMenu/MyPagesMenu/index.tsx @@ -18,7 +18,11 @@ import styles from "./myPagesMenu.module.css" import type { MyPagesMenuProps } from "@/types/components/header/myPagesMenu" -export default function MyPagesMenu({ navigation, user }: MyPagesMenuProps) { +export default function MyPagesMenu({ + membership, + navigation, + user, +}: MyPagesMenuProps) { const intl = useIntl() const lang = useLang() const { toggleMyPagesMenu, isMyPagesMenuOpen } = useDropdownStore() @@ -46,6 +50,7 @@ export default function MyPagesMenu({ navigation, user }: MyPagesMenuProps) { diff --git a/components/Header/MainMenu/MyPagesMenuContent/index.tsx b/components/Header/MainMenu/MyPagesMenuContent/index.tsx index dc70f3b68..40ab1e545 100644 --- a/components/Header/MainMenu/MyPagesMenuContent/index.tsx +++ b/components/Header/MainMenu/MyPagesMenuContent/index.tsx @@ -3,6 +3,7 @@ import Link from "next/link" import { useIntl } from "react-intl" +import { MembershipLevelEnum } from "@/constants/membershipLevels" import { logout } from "@/constants/routes/handleAuth" import { ArrowRightIcon } from "@/components/Icons" @@ -11,12 +12,14 @@ import Caption from "@/components/TempDesignSystem/Text/Caption" import Subtitle from "@/components/TempDesignSystem/Text/Subtitle" import useLang from "@/hooks/useLang" import { useTrapFocus } from "@/hooks/useTrapFocus" +import { getMembershipLevelObject } from "@/utils/membershipLevel" import styles from "./myPagesMenuContent.module.css" import type { MyPagesMenuContentProps } from "@/types/components/header/myPagesMenu" export default function MyPagesMenuContent({ + membership, navigation, toggleOpenStateFn, user, @@ -25,20 +28,35 @@ export default function MyPagesMenuContent({ const lang = useLang() const myPagesMenuContentRef = useTrapFocus() + const membershipLevel = membership?.membershipLevel + ? getMembershipLevelObject( + membership.membershipLevel as MembershipLevelEnum, + lang + ) + : null + const membershipPoints = membership?.currentPoints + const introClassName = + membershipLevel && membershipPoints + ? `${styles.intro}` + : `${styles.intro} ${styles.noMembership}` if (!navigation) { return null } return (