+ You are offline, some content may be out of date.
+
+
+ )
+}
diff --git a/components/Current/Header/TopMenu/index.tsx b/components/Current/Header/TopMenu/index.tsx
new file mode 100644
index 000000000..479662dba
--- /dev/null
+++ b/components/Current/Header/TopMenu/index.tsx
@@ -0,0 +1,41 @@
+// import Desktop from "../LanguageSwitcher/Desktop"
+import Link from "next/link"
+
+import styles from "./topMenu.module.css"
+
+import type { TopMenuProps } from "@/types/components/current/header/topMenu"
+
+/**
+ * Desktop is commented out as it relates to
+ * LanguageSwitcher and will be handled in another task
+ */
+export default function TopMenu({ frontpageLinkText, homeHref, links }: TopMenuProps) {
+ return (
+
+
+
+ {frontpageLinkText}
+
+
+
+ {/*
+ {links ? : null}
+
*/}
+ {links.map(({ link }) => (
+
+
+ {link.title}
+
+
+ ))}
+
+
+
+ )
+}
diff --git a/components/Current/Header/TopMenu/topMenu.module.css b/components/Current/Header/TopMenu/topMenu.module.css
new file mode 100644
index 000000000..161b00ac5
--- /dev/null
+++ b/components/Current/Header/TopMenu/topMenu.module.css
@@ -0,0 +1,51 @@
+.topMenu {
+ background-color: #8d3a7c;
+ color: #fff;
+ display: none;
+ font-size: .8125rem;
+ position: relative;
+ z-index: 1;
+}
+
+.container {
+ box-sizing: content-box;
+ display: flex;
+ justify-content: flex-end;
+ margin: 0 auto;
+ max-width: 1200px;
+ padding: 0 10px;
+}
+
+.homeLink {
+ display: none;
+}
+
+.list {
+ display: flex;
+ list-style: none;
+}
+
+.link {
+ color: #fff;
+ display: inline-block;
+ padding: 3px 10px;
+ text-decoration: none;
+}
+
+@media screen and (min-width: 740px) {
+ .container {
+ padding: 0 30px;
+ }
+}
+
+@media screen and (min-width: 950px) {
+ .topMenu {
+ background-color: #3d3835;
+ display: block;
+ }
+
+ .link {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ }
+}
\ No newline at end of file
diff --git a/components/Current/Header/header.module.css b/components/Current/Header/header.module.css
new file mode 100644
index 000000000..36b5ca688
--- /dev/null
+++ b/components/Current/Header/header.module.css
@@ -0,0 +1,3 @@
+.header {
+ display: grid;
+}
\ No newline at end of file
diff --git a/components/Current/Header/index.tsx b/components/Current/Header/index.tsx
index 52c480605..c24d3a3d6 100644
--- a/components/Current/Header/index.tsx
+++ b/components/Current/Header/index.tsx
@@ -1,30 +1,47 @@
-import { langEnum } from "@/types/lang"
+import { request } from "@/lib/request"
+import { GetHeader } from "@/lib/graphql/Query/Header.graphql"
-import Da from "./Da"
-import De from "./De"
-import En from "./En"
-import Fi from "./Fi"
-import No from "./No"
-import Sv from "./Sv"
+import MainMenu from "./MainMenu"
+import OfflineBanner from "./OfflineBanner"
+import TopMenu from "./TopMenu"
+
+import styles from "./header.module.css"
-import type { HeaderProps } from "@/types/components/current/header"
import { LangParams } from "@/types/params"
+import type { HeaderQueryData } from "@/types/requests/header"
-export default function Header({ lang, pathname }: LangParams & HeaderProps) {
- switch (lang) {
- case langEnum.sv:
- return
- case langEnum.fi:
- return
- case langEnum.en:
- return
- case langEnum.da:
- return
- case langEnum.de:
- return
- case langEnum.no:
- return
- default:
+export default async function Header({ lang }: LangParams) {
+ try {
+ const { data } = await request(GetHeader, { locale: lang })
+ if (!data.all_header.items.length) {
return null
+ }
+
+ const homeHref = `https://www.scandichotels.com/${lang}`
+ const { frontpage_link_text, logoConnection, menu, top_menu } = data.all_header.items[0]
+ const logo = logoConnection.edges?.[0]?.node
+ const topMenuMobileLinks = top_menu.links.filter(link => link.show_on_mobile)
+ .sort((a, b) => a.sort_order_mobile < b.sort_order_mobile ? 1 : -1)
+
+ return (
+
+
+
+
+
+ )
+ } catch (error) {
+ console.error(error)
+ return null
}
}
diff --git a/components/Current/Preamble/Breadcrumbs/index.tsx b/components/Current/Preamble/Breadcrumbs/index.tsx
index 631482046..2d629d75e 100644
--- a/components/Current/Preamble/Breadcrumbs/index.tsx
+++ b/components/Current/Preamble/Breadcrumbs/index.tsx
@@ -14,7 +14,7 @@ export default function Breadcrumbs({