diff --git a/components/Header/MainMenu/MainMenuButton/index.tsx b/components/Header/MainMenu/MainMenuButton/index.tsx new file mode 100644 index 000000000..c45cc569f --- /dev/null +++ b/components/Header/MainMenu/MainMenuButton/index.tsx @@ -0,0 +1,16 @@ +import styles from "./menuButton.module.css" + +import { MainMenuButtonProps } from "@/types/components/header/mainMenuButton" + +export default function MainMenuButton({ + className = "", + ...props +}: MainMenuButtonProps) { + return ( + - ) -} diff --git a/components/Header/TopMenu/LanguageSwitcher/index.tsx b/components/Header/TopMenu/LanguageSwitcher/index.tsx index ef88b99da..8416c25b6 100644 --- a/components/Header/TopMenu/LanguageSwitcher/index.tsx +++ b/components/Header/TopMenu/LanguageSwitcher/index.tsx @@ -8,7 +8,7 @@ import { Lang, languages } from "@/constants/languages" import { CheckIcon, ChevronDownIcon, GlobeIcon } from "@/components/Icons" import useLang from "@/hooks/useLang" -import Button from "../Button" +import TopMenuButton from "../TopMenuButton" import styles from "./languageSwitcher.module.css" @@ -26,7 +26,7 @@ export default function LanguageSwitcher({ urls }: LanguageSwitcherProps) { return (
- +
diff --git a/components/Header/TopMenu/Search/index.tsx b/components/Header/TopMenu/Search/index.tsx index 9e4978beb..f0b3316a7 100644 --- a/components/Header/TopMenu/Search/index.tsx +++ b/components/Header/TopMenu/Search/index.tsx @@ -4,15 +4,15 @@ import { useIntl } from "react-intl" import { SearchIcon } from "@/components/Icons" -import Button from "../Button" +import TopMenuButton from "../TopMenuButton" export default function Search() { const intl = useIntl() return ( - + ) } diff --git a/components/Header/TopMenu/TopMenuButton/index.tsx b/components/Header/TopMenu/TopMenuButton/index.tsx new file mode 100644 index 000000000..4e42b05e0 --- /dev/null +++ b/components/Header/TopMenu/TopMenuButton/index.tsx @@ -0,0 +1,14 @@ +import styles from "./topMenuButton.module.css" + +import { TopMenuButtonProps } from "@/types/components/header/topMenuButton" + +export default function TopMenuButton({ + children, + ...props +}: TopMenuButtonProps) { + return ( + + ) +} diff --git a/components/Header/TopMenu/Button/button.module.css b/components/Header/TopMenu/TopMenuButton/topMenuButton.module.css similarity index 100% rename from components/Header/TopMenu/Button/button.module.css rename to components/Header/TopMenu/TopMenuButton/topMenuButton.module.css diff --git a/components/Header/tempHeaderData.ts b/components/Header/tempHeaderData.ts new file mode 100644 index 000000000..2c514e986 --- /dev/null +++ b/components/Header/tempHeaderData.ts @@ -0,0 +1,75 @@ +import { MainNavigationItem } from "@/types/components/header/mainNavigationItem" + +export const navigationMenuItems: MainNavigationItem[] = [ + { + id: "hotels", + title: "Hotels", + href: "/hotels", + children: [], + }, + { + id: "business", + title: "Business", + href: "/business", + children: [ + { + groupTitle: "Top conference venues", + children: [ + { + id: "stockholm", + title: "Stockholm", + href: "/stockholm", + }, + { + id: "bergen", + title: "Bergen", + href: "/bergen", + }, + { + id: "copenhagen", + title: "Copenhagen", + href: "/copenhagen", + }, + ], + }, + { + groupTitle: "Scandic for business", + children: [ + { + id: "book-a-venue", + title: "Book a venue", + href: "/book-a-venue", + }, + { + id: "conference-packages", + title: "Conference packages", + href: "/conference-packages", + }, + { + id: "co-working", + title: "Co-working", + href: "/co-working", + }, + ], + }, + ], + seeAllLinkText: "See all conference & meeting venues", + infoCard: { + scriptedTitle: "Stockholm", + title: "Meeting venues in Stockholm", + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et felis metus. Sed et felis metus.", + ctaLink: "/stockholm", + }, + }, + { + id: "offers", + title: "Offers", + href: "/offers", + }, + { + id: "restaurants", + title: "Restaurants", + href: "/restaurants", + }, +] diff --git a/components/Header/MainMenu/MyPages/Avatar/avatar.ts b/types/components/header/avatar.ts similarity index 100% rename from components/Header/MainMenu/MyPages/Avatar/avatar.ts rename to types/components/header/avatar.ts diff --git a/components/Header/TopMenu/LanguageSwitcher/languageSwitcher.ts b/types/components/header/languageSwitcher.ts similarity index 100% rename from components/Header/TopMenu/LanguageSwitcher/languageSwitcher.ts rename to types/components/header/languageSwitcher.ts diff --git a/types/components/header/mainMenuButton.ts b/types/components/header/mainMenuButton.ts new file mode 100644 index 000000000..4d88a6b38 --- /dev/null +++ b/types/components/header/mainMenuButton.ts @@ -0,0 +1,2 @@ +export interface MainMenuButtonProps + extends React.ButtonHTMLAttributes {} diff --git a/types/components/header/mainNavigationItem.ts b/types/components/header/mainNavigationItem.ts new file mode 100644 index 000000000..3eff9ab37 --- /dev/null +++ b/types/components/header/mainNavigationItem.ts @@ -0,0 +1,20 @@ +export interface MainNavigationItem { + id: string + title: string + href: string + children?: { + groupTitle: string + children: { + id: string + title: string + href: string + }[] + }[] + seeAllLinkText?: string + infoCard?: { + scriptedTitle: string + title: string + description: string + ctaLink: string + } +} diff --git a/types/components/header/myPagesMenu.ts b/types/components/header/myPagesMenu.ts new file mode 100644 index 000000000..4f2cc89d3 --- /dev/null +++ b/types/components/header/myPagesMenu.ts @@ -0,0 +1,12 @@ +import { navigationQueryRouter } from "@/server/routers/contentstack/myPages/navigation/query" + +import { User } from "@/types/user" + +type MyPagesNavigation = Awaited< + ReturnType<(typeof navigationQueryRouter)["get"]> +> + +export interface MyPagesMenuProps { + navigation: MyPagesNavigation + user: Pick | null +} diff --git a/types/components/header/navigationMenu.ts b/types/components/header/navigationMenu.ts new file mode 100644 index 000000000..f429d557d --- /dev/null +++ b/types/components/header/navigationMenu.ts @@ -0,0 +1,5 @@ +import { MainNavigationItem } from "@/types/components/header/mainNavigationItem" + +export interface NavigationMenuProps { + items: MainNavigationItem[] +} diff --git a/types/components/header/navigationMenuItem.ts b/types/components/header/navigationMenuItem.ts new file mode 100644 index 000000000..d53c2313a --- /dev/null +++ b/types/components/header/navigationMenuItem.ts @@ -0,0 +1,5 @@ +import { MainNavigationItem } from "@/types/components/header/mainNavigationItem" + +export interface NavigationMenuItemProps { + item: MainNavigationItem +} diff --git a/components/Header/TopMenu/Button/button.ts b/types/components/header/topMenuButton.ts similarity index 62% rename from components/Header/TopMenu/Button/button.ts rename to types/components/header/topMenuButton.ts index 9aa84a33f..20589bc4c 100644 --- a/components/Header/TopMenu/Button/button.ts +++ b/types/components/header/topMenuButton.ts @@ -1,2 +1,2 @@ -export interface ButtonProps +export interface TopMenuButtonProps extends React.ButtonHTMLAttributes {}