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 ( +
+
+ +
+
+ ) +} 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;