Merged in feat/sw-187-footer-content-stack (pull request #565)
Feat/sw 187 footer content stack Approved-by: Erik Tiekstra Approved-by: Matilda Landström
This commit is contained in:
21
types/components/dropdown/dropdown.ts
Normal file
21
types/components/dropdown/dropdown.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
export interface DropdownState {
|
||||
isHamburgerMenuOpen: boolean
|
||||
isMyPagesMobileMenuOpen: boolean
|
||||
isMyPagesMenuOpen: boolean
|
||||
isHeaderLanguageSwitcherOpen: boolean
|
||||
isHeaderLanguageSwitcherMobileOpen: boolean
|
||||
isFooterLanguageSwitcherOpen: boolean
|
||||
toggleDropdown: (dropdown: DropdownTypeEnum) => void
|
||||
handleHamburgerClick: () => void
|
||||
}
|
||||
|
||||
export enum DropdownTypeEnum {
|
||||
HamburgerMenu = "hamburgerMenu",
|
||||
MyPagesMobileMenu = "myPagesMobileMenu",
|
||||
MyPagesMenu = "myPagesMenu",
|
||||
HeaderLanguageSwitcher = "headerLanguageSwitcher",
|
||||
HeaderLanguageSwitcherMobile = "headerLanguageSwitcherMobile",
|
||||
FooterLanguageSwitcher = "footerLanguageSwitcher",
|
||||
}
|
||||
|
||||
export type DropdownType = `${DropdownTypeEnum}`
|
||||
14
types/components/footer/appDownloadIcons.ts
Normal file
14
types/components/footer/appDownloadIcons.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
export enum AppDownLoadLinks {
|
||||
apple_da = "/_static/img/store-badges/app-store-badge-da.svg",
|
||||
apple_de = "/_static/img/store-badges/app-store-badge-de.svg",
|
||||
apple_en = "/_static/img/store-badges/app-store-badge-en.svg",
|
||||
apple_fi = "/_static/img/store-badges/app-store-badge-fi.svg",
|
||||
apple_no = "/_static/img/store-badges/app-store-badge-no.svg",
|
||||
apple_sv = "/_static/img/store-badges/app-store-badge-sv.svg",
|
||||
google_da = "/_static/img/store-badges/google-play-badge-da.svg",
|
||||
google_de = "/_static/img/store-badges/google-play-badge-de.svg",
|
||||
google_en = "/_static/img/store-badges/google-play-badge-en.svg",
|
||||
google_fi = "/_static/img/store-badges/google-play-badge-fi.svg",
|
||||
google_no = "/_static/img/store-badges/google-play-badge-no.svg",
|
||||
google_sv = "/_static/img/store-badges/google-play-badge-sv.svg",
|
||||
}
|
||||
11
types/components/footer/footer.ts
Normal file
11
types/components/footer/footer.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import {
|
||||
validateFooterConfigSchema,
|
||||
validateFooterRefConfigSchema,
|
||||
validateLinkItem,
|
||||
} from "@/server/routers/contentstack/base/output"
|
||||
|
||||
export type FooterRefDataRaw = z.infer<typeof validateFooterRefConfigSchema>
|
||||
export type FooterDataRaw = z.infer<typeof validateFooterConfigSchema>
|
||||
export type FooterLinkItem = z.infer<typeof validateLinkItem>
|
||||
@@ -1,37 +1,41 @@
|
||||
export type FooterMainNav = {
|
||||
id: string
|
||||
href: string
|
||||
title: string
|
||||
openInNewTab: boolean
|
||||
isExternal: boolean
|
||||
}
|
||||
import { z } from "zod"
|
||||
|
||||
import {
|
||||
validateLinkItem,
|
||||
validateLinksWithType,
|
||||
validateSecondaryLinks,
|
||||
} from "@/server/routers/contentstack/base/output"
|
||||
|
||||
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
|
||||
export type FooterLink = z.output<typeof validateLinkItem>
|
||||
|
||||
export type FooterMainNavProps = {
|
||||
mainLinks: FooterMainNav[]
|
||||
mainLinks: FooterLink[]
|
||||
}
|
||||
|
||||
export type FooterSecondaryNav = {
|
||||
id: string
|
||||
href: string
|
||||
type FooterSecondaryNavGroup = z.output<typeof validateSecondaryLinks>
|
||||
|
||||
type FooterLinkWithType = z.output<typeof validateLinksWithType>
|
||||
|
||||
type FooterAppDownloads = {
|
||||
title: string
|
||||
openInNewTab: boolean
|
||||
isExternal: boolean
|
||||
}
|
||||
export type FooterSecondaryNavProps = {
|
||||
secondaryLinks: {
|
||||
title: string
|
||||
links: FooterSecondaryNav[]
|
||||
}[]
|
||||
appDownloads: {
|
||||
title: string
|
||||
links: {
|
||||
title: string
|
||||
href: string
|
||||
id: string
|
||||
}[]
|
||||
}
|
||||
links: FooterLinkWithType
|
||||
}
|
||||
|
||||
export enum AppDownLoadLinks {
|
||||
apple = "/_static/img/app-store-badge.svg",
|
||||
google = "/_static/img/google-play-badge.svg",
|
||||
type FooterSocialMedia = {
|
||||
links: FooterLinkWithType
|
||||
}
|
||||
|
||||
export type FooterSecondaryNavProps = {
|
||||
secondaryLinks: FooterSecondaryNavGroup
|
||||
appDownloads: FooterAppDownloads
|
||||
}
|
||||
|
||||
export type FooterDetailsProps = {
|
||||
socialMedia?: FooterSocialMedia
|
||||
tertiaryLinks?: FooterLink[]
|
||||
languageUrls?: LanguageSwitcherData
|
||||
}
|
||||
|
||||
export type FooterNavigationProps = FooterMainNavProps & FooterSecondaryNavProps
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
import type { LanguageSwitcherData } from "@/types/requests/languageSwitcher"
|
||||
|
||||
export interface LanguageSwitcherProps {
|
||||
type: "mobileHeader" | "mobileFooter" | "desktopHeader" | "desktopFooter"
|
||||
type: "mobileHeader" | "desktopHeader" | "footer"
|
||||
urls: LanguageSwitcherData
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user