diff --git a/app/globals.css b/app/globals.css
index a2d667892..6e2529da2 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;
- --current-mobile-site-header-height: 70.047px;
+ --current-mobile-site-header-height: 52.41px;
--max-width-navigation: 89.5rem;
--max-width-spacing: calc(var(--Layout-Mobile-Margin-Margin-min) * 2);
diff --git a/components/Current/Header/BookingButton/bookingButton.module.css b/components/Current/Header/BookingButton/bookingButton.module.css
index 797cd377b..7276221ae 100644
--- a/components/Current/Header/BookingButton/bookingButton.module.css
+++ b/components/Current/Header/BookingButton/bookingButton.module.css
@@ -6,7 +6,7 @@
line-height: 20px;
border: 1px solid transparent;
border-radius: 50px;
- height: 32px;
+ height: 38px;
line-height: 20px;
font-size: 14px;
font-family: Helvetica, Arial, sans-serif;
@@ -17,6 +17,7 @@
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
+ align-content: center;
}
.button:hover {
diff --git a/components/Current/Header/HeaderFallback/index.tsx b/components/Current/Header/HeaderFallback/index.tsx
index 7b6801a19..12ef4b9f7 100644
--- a/components/Current/Header/HeaderFallback/index.tsx
+++ b/components/Current/Header/HeaderFallback/index.tsx
@@ -1,49 +1,13 @@
-import { homeHrefs } from "@/constants/homeHrefs"
-import { env } from "@/env/server"
-import { getCurrentHeader } from "@/lib/trpc/memoizedRequests"
-
-import { getLang } from "@/i18n/serverContext"
-
-import { MainMenu } from "../MainMenu"
-import OfflineBanner from "../OfflineBanner"
-import TopMenu from "../TopMenu"
+import { MainMenuSkeleton } from "../MainMenu"
+import { TopMenuSkeleton } from "../TopMenu"
import styles from "../header.module.css"
export default async function HeaderFallback() {
- const data = await getCurrentHeader(getLang())
-
- if (!data?.header) {
- return null
- }
-
- const homeHref = homeHrefs[env.NODE_ENV][getLang()]
- const { frontpageLinkText, logo, menu, topMenu } = data.header
-
- const topMenuMobileLinks = topMenu.links
- .filter((link) => link.show_on_mobile)
- .sort((a, b) => (a.sort_order_mobile < b.sort_order_mobile ? 1 : -1))
-
return (
)
}
diff --git a/components/Current/Header/MainMenu/index.tsx b/components/Current/Header/MainMenu/index.tsx
index 98ed2f19e..ac199287d 100644
--- a/components/Current/Header/MainMenu/index.tsx
+++ b/components/Current/Header/MainMenu/index.tsx
@@ -9,6 +9,7 @@ import useDropdownStore from "@/stores/main-menu"
import Image from "@/components/Image"
import LoginButton from "@/components/LoginButton"
import Avatar from "@/components/MyPages/Avatar"
+import SkeletonShimmer from "@/components/SkeletonShimmer"
import Link from "@/components/TempDesignSystem/Link"
import useLang from "@/hooks/useLang"
import { trackClick } from "@/utils/tracking"
@@ -227,3 +228,56 @@ export function MainMenu({
)
}
+
+export function MainMenuSkeleton() {
+ const intl = useIntl()
+
+ const links = new Array(5).fill("")
+ return (
+
+
+
+
+
+
+ )
+}
diff --git a/components/Current/Header/MainMenu/mainMenu.module.css b/components/Current/Header/MainMenu/mainMenu.module.css
index 67131826d..f2855d8ca 100644
--- a/components/Current/Header/MainMenu/mainMenu.module.css
+++ b/components/Current/Header/MainMenu/mainMenu.module.css
@@ -27,11 +27,9 @@
.navBar {
display: grid;
grid-template-columns: 1fr 80px 1fr;
- grid-template-columns: auto auto 1fr auto;
grid-template-areas: "expanderBtn logoLink . buttonContainer";
grid-template-rows: 100%;
height: 100%;
- padding: 0 var(--Spacing-x2);
}
.expanderBtn {
@@ -50,7 +48,7 @@
background: #757575;
border-radius: 2.3px;
display: inline-block;
- height: 3px;
+ height: 5px;
position: relative;
transition: 0.3s;
width: 32px;
@@ -107,7 +105,6 @@
align-items: center;
height: 100%;
width: 80px;
- padding-left: var(--Spacing-x1);
}
.logo {
@@ -241,6 +238,12 @@
display: none;
}
+.skeletonWrapper {
+ padding: 4px 10px;
+ height: 100%;
+ align-content: center;
+}
+
@media (min-width: 1367px) {
.navBar {
grid-template-columns: 140px auto 1fr;
diff --git a/components/Current/Header/TopMenu/index.tsx b/components/Current/Header/TopMenu/index.tsx
index b33c44424..8f340e56b 100644
--- a/components/Current/Header/TopMenu/index.tsx
+++ b/components/Current/Header/TopMenu/index.tsx
@@ -3,6 +3,7 @@ import { overview } from "@/constants/routes/myPages"
import { getName } from "@/lib/trpc/memoizedRequests"
import LoginButton from "@/components/LoginButton"
+import SkeletonShimmer from "@/components/SkeletonShimmer"
import Link from "@/components/TempDesignSystem/Link"
import { getIntl } from "@/i18n"
import { getLang } from "@/i18n/serverContext"
@@ -68,6 +69,8 @@ export default async function TopMenu({
position="hamburger menu"
trackingId="loginStartTopMenu"
className={`${styles.sessionLink} ${styles.loginLink}`}
+ variant="default"
+ size="small"
>
{intl.formatMessage({ id: "Log in" })}
@@ -78,3 +81,32 @@ export default async function TopMenu({
)
}
+
+export async function TopMenuSkeleton() {
+ const intl = await getIntl()
+ const links = new Array(5).fill("")
+ return (
+
+
+
+ {links.map((link, i) => (
+ -
+
+
+ ))}
+ -
+
+ {intl.formatMessage({ id: "Log in" })}
+
+
+
+
+
+ )
+}
diff --git a/components/Current/Header/TopMenu/topMenu.module.css b/components/Current/Header/TopMenu/topMenu.module.css
index 67be14a58..ab8c0733c 100644
--- a/components/Current/Header/TopMenu/topMenu.module.css
+++ b/components/Current/Header/TopMenu/topMenu.module.css
@@ -49,6 +49,12 @@
display: block;
}
+.skeletonWrapper {
+ padding: 4px 10px;
+ height: 30px;
+ align-content: center;
+}
+
@media screen and (min-width: 768px) {
.container {
padding: 0 30px;