-
+
+
+
diff --git a/components/Header/TopMenu/LanguageSwitcher/languageSwitcher.module.css b/components/LanguageSwitcher/languageSwitcher.module.css
similarity index 78%
rename from components/Header/TopMenu/LanguageSwitcher/languageSwitcher.module.css
rename to components/LanguageSwitcher/languageSwitcher.module.css
index ff2301963..1eeeab77b 100644
--- a/components/Header/TopMenu/LanguageSwitcher/languageSwitcher.module.css
+++ b/components/LanguageSwitcher/languageSwitcher.module.css
@@ -5,14 +5,20 @@
.button {
background-color: transparent;
color: var(--Base-Text-High-contrast);
+ font-family: var(--typography-Caption-Regular-fontFamily);
+ font-size: var(--typography-Caption-Regular-fontSize);
border-width: 0;
+ padding: 0;
cursor: pointer;
- display: flex;
+ display: grid;
+ grid-template-columns: repeat(2, max-content) 1fr;
gap: var(--Spacing-x1);
align-items: center;
+ width: 100%;
}
.chevron {
+ justify-self: end;
transition: transform 0.2s;
}
@@ -78,3 +84,11 @@
.link:hover {
font-weight: 600;
}
+
+@media screen and (min-width: 768px) {
+ .button {
+ grid-template-columns: repeat(3, max-content);
+ font-size: var(--typography-Body-Bold-fontSize);
+ font-family: var(--typography-Body-Bold-fontFamily);
+ }
+}
diff --git a/i18n/dictionaries/da.json b/i18n/dictionaries/da.json
index f4553b9ce..43b927104 100644
--- a/i18n/dictionaries/da.json
+++ b/i18n/dictionaries/da.json
@@ -44,6 +44,7 @@
"Country code": "Landekode",
"Credit card deleted successfully": "Kreditkort blev slettet",
"Current password": "Nuværende kodeord",
+ "Customer service": "Kundeservice",
"Date of Birth": "Fødselsdato",
"Day": "Dag",
"Description": "Beskrivelse",
@@ -94,6 +95,7 @@
"Members": "Medlemmer",
"Membership cards": "Medlemskort",
"Membership ID": "Medlems-id",
+ "Menu": "Menu",
"Modify": "Ændre",
"Month": "Måned",
"My communication preferences": "Mine kommunikationspræferencer",
diff --git a/i18n/dictionaries/de.json b/i18n/dictionaries/de.json
index b80e56960..8814ff721 100644
--- a/i18n/dictionaries/de.json
+++ b/i18n/dictionaries/de.json
@@ -43,6 +43,7 @@
"Country code": "Landesvorwahl",
"Credit card deleted successfully": "Kreditkarte erfolgreich gelöscht",
"Current password": "Aktuelles Passwort",
+ "Customer service": "Kundendienst",
"Date of Birth": "Geburtsdatum",
"Day": "Tag",
"Description": "Beschreibung",
@@ -92,6 +93,7 @@
"Members": "Mitglieder",
"Membership cards": "Mitgliedskarten",
"Membership ID": "Mitglieds-ID",
+ "Menu": "Menu",
"Modify": "Ändern",
"Month": "Monat",
"My communication preferences": "Meine Kommunikationseinstellungen",
diff --git a/i18n/dictionaries/en.json b/i18n/dictionaries/en.json
index f86bab933..ea205dd05 100644
--- a/i18n/dictionaries/en.json
+++ b/i18n/dictionaries/en.json
@@ -44,6 +44,7 @@
"Country code": "Country code",
"Credit card deleted successfully": "Credit card deleted successfully",
"Current password": "Current password",
+ "Customer service": "Customer service",
"Date of Birth": "Date of Birth",
"Day": "Day",
"Description": "Description",
@@ -99,6 +100,7 @@
"Members": "Members",
"Membership cards": "Membership cards",
"Membership ID": "Membership ID",
+ "Menu": "Menu",
"Modify": "Modify",
"Month": "Month",
"My communication preferences": "My communication preferences",
diff --git a/i18n/dictionaries/fi.json b/i18n/dictionaries/fi.json
index a3dd9cff8..5781dea73 100644
--- a/i18n/dictionaries/fi.json
+++ b/i18n/dictionaries/fi.json
@@ -44,6 +44,7 @@
"Country code": "Maatunnus",
"Credit card deleted successfully": "Luottokortti poistettu onnistuneesti",
"Current password": "Nykyinen salasana",
+ "Customer service": "Asiakaspalvelu",
"Date of Birth": "Syntymäaika",
"Day": "Päivä",
"Description": "Kuvaus",
@@ -93,6 +94,7 @@
"Members": "Jäsenet",
"Membership cards": "Jäsenkortit",
"Membership ID": "Jäsentunnus",
+ "Menu": "Menu",
"Modify": "Muokkaa",
"Month": "Kuukausi",
"My communication preferences": "Viestintämieltymykseni",
diff --git a/i18n/dictionaries/no.json b/i18n/dictionaries/no.json
index 8dbf2cb2c..0f38a89b0 100644
--- a/i18n/dictionaries/no.json
+++ b/i18n/dictionaries/no.json
@@ -42,6 +42,7 @@
"Could not find requested resource": "Kunne ikke finne den forespurte ressursen",
"Country": "Land",
"Country code": "Landskode",
+ "Customer service": "Kundeservice",
"Credit card deleted successfully": "Kredittkort slettet",
"Current password": "Nåværende passord",
"Date of Birth": "Fødselsdato",
@@ -94,6 +95,7 @@
"Members": "Medlemmer",
"Membership cards": "Medlemskort",
"Membership ID": "Medlems-ID",
+ "Menu": "Menu",
"Modify": "Endre",
"Month": "Måned",
"My communication preferences": "Mine kommunikasjonspreferanser",
diff --git a/i18n/dictionaries/sv.json b/i18n/dictionaries/sv.json
index 25eb5acf5..53f38241e 100644
--- a/i18n/dictionaries/sv.json
+++ b/i18n/dictionaries/sv.json
@@ -44,6 +44,7 @@
"Country code": "Landskod",
"Credit card deleted successfully": "Kreditkort har tagits bort",
"Current password": "Nuvarande lösenord",
+ "Customer service": "Kundservice",
"Date of Birth": "Födelsedatum",
"Day": "Dag",
"Description": "Beskrivning",
@@ -96,6 +97,7 @@
"Members": "Medlemmar",
"Membership cards": "Medlemskort",
"Membership ID": "Medlems-ID",
+ "Menu": "Meny",
"Modify": "Ändra",
"Month": "Månad",
"My communication preferences": "Mina kommunikationspreferenser",
diff --git a/stores/main-menu.ts b/stores/main-menu.ts
index fe9fc50f3..008cce9b7 100644
--- a/stores/main-menu.ts
+++ b/stores/main-menu.ts
@@ -19,13 +19,7 @@ const useDropdownStore = create((set) => ({
isMyPagesMenuOpen: false,
isLanguageSwitcherOpen: false,
toggleHamburgerMenu: () =>
- set((state) => {
- // Close the other dropdown if it's open
- if (!state.isHamburgerMenuOpen && state.isMyPagesMobileMenuOpen) {
- set({ isMyPagesMobileMenuOpen: false })
- }
- return { isHamburgerMenuOpen: !state.isHamburgerMenuOpen }
- }),
+ set((state) => ({ isHamburgerMenuOpen: !state.isHamburgerMenuOpen })),
toggleMyPagesMobileMenu: () =>
set((state) => {
// Close the other dropdown if it's open
diff --git a/types/components/header/headerLink.ts b/types/components/header/headerLink.ts
new file mode 100644
index 000000000..671ab6d0e
--- /dev/null
+++ b/types/components/header/headerLink.ts
@@ -0,0 +1,3 @@
+import { LinkProps } from "@/components/TempDesignSystem/Link/link"
+
+export interface HeaderLinkProps extends React.PropsWithChildren {}
diff --git a/types/components/header/mainMenu.ts b/types/components/header/mainMenu.ts
new file mode 100644
index 000000000..a867be31b
--- /dev/null
+++ b/types/components/header/mainMenu.ts
@@ -0,0 +1,5 @@
+import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
+
+export interface MainMenuProps {
+ languageUrls: LanguageSwitcherData
+}
diff --git a/types/components/header/mobileMenu.ts b/types/components/header/mobileMenu.ts
new file mode 100644
index 000000000..79f11a563
--- /dev/null
+++ b/types/components/header/mobileMenu.ts
@@ -0,0 +1,8 @@
+import { MainNavigationItem } from "./mainNavigationItem"
+
+import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
+
+export interface MobileMenuProps {
+ languageUrls: LanguageSwitcherData
+ mainNavigation: MainNavigationItem[]
+}
diff --git a/types/components/header/navigationMenu.ts b/types/components/header/navigationMenu.ts
index f429d557d..11642b11f 100644
--- a/types/components/header/navigationMenu.ts
+++ b/types/components/header/navigationMenu.ts
@@ -1,5 +1,10 @@
+import { VariantProps } from "class-variance-authority"
+
+import { navigationMenuVariants } from "@/components/Header/MainMenu/NavigationMenu/variants"
+
import { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
-export interface NavigationMenuProps {
+export interface NavigationMenuProps
+ extends VariantProps {
items: MainNavigationItem[]
}
diff --git a/types/components/header/navigationMenuItem.ts b/types/components/header/navigationMenuItem.ts
index d53c2313a..942b706c8 100644
--- a/types/components/header/navigationMenuItem.ts
+++ b/types/components/header/navigationMenuItem.ts
@@ -1,5 +1,10 @@
+import { VariantProps } from "class-variance-authority"
+
+import { navigationMenuItemVariants } from "@/components/Header/MainMenu/NavigationMenu/NavigationMenuItem/variants"
+
import { MainNavigationItem } from "@/types/components/header/mainNavigationItem"
-export interface NavigationMenuItemProps {
+export interface NavigationMenuItemProps
+ extends VariantProps {
item: MainNavigationItem
}
diff --git a/types/components/header/topMenu.ts b/types/components/header/topMenu.ts
new file mode 100644
index 000000000..4e20a6e7f
--- /dev/null
+++ b/types/components/header/topMenu.ts
@@ -0,0 +1,5 @@
+import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
+
+export interface TopMenuProps {
+ languageUrls: LanguageSwitcherData
+}
diff --git a/types/components/icon.ts b/types/components/icon.ts
index ed0d3da3b..0e705b7e6 100644
--- a/types/components/icon.ts
+++ b/types/components/icon.ts
@@ -46,6 +46,7 @@ export enum IconName {
Restaurant = "Restaurant",
Sauna = "Sauna",
Search = "Search",
+ Service = "Service",
Tripadvisor = "Tripadvisor",
TshirtWash = "TshirtWash",
Wifi = "Wifi",