diff --git a/.changeset/beige-cobras-hide.md b/.changeset/beige-cobras-hide.md new file mode 100644 index 0000000000..fa459afa33 --- /dev/null +++ b/.changeset/beige-cobras-hide.md @@ -0,0 +1,5 @@ +--- +"nextjs-website": minor +--- + +Change ProductHeader behaviour to be fixed on desktop and maintain the old behaviour on mobile diff --git a/apps/nextjs-website/src/components/atoms/GuideMenu/GuideMenu.tsx b/apps/nextjs-website/src/components/atoms/GuideMenu/GuideMenu.tsx index 967d6425a6..2dd63c3bef 100644 --- a/apps/nextjs-website/src/components/atoms/GuideMenu/GuideMenu.tsx +++ b/apps/nextjs-website/src/components/atoms/GuideMenu/GuideMenu.tsx @@ -35,16 +35,20 @@ const GuideMenu = (menuProps: GuideMenuProps) => { const segments = currentPath.split('/'); const expanded = segments.map((_, i) => segments.slice(0, i + 1).join('/')); - const top = scrollUp ? SITE_HEADER_HEIGHT : 0; + const topOffsetXs = scrollUp ? SITE_HEADER_HEIGHT : 0; - const height = `calc(100vh - ${top}px)`; + const height = `calc(100vh - ${topOffsetXs}px)`; const topStyle = menuProps.hasHeader - ? { xs: top + 62, sm: top + 90, md: top + 77 } + ? { + xs: topOffsetXs + 62, + sm: topOffsetXs + 90, + md: SITE_HEADER_HEIGHT + 77, + } : { - xs: top, - sm: top, - md: top, + xs: topOffsetXs, + sm: topOffsetXs, + md: topOffsetXs, }; const handleClick = useCallback(() => { diff --git a/apps/nextjs-website/src/components/atoms/ProductHeader/ProductHeader.tsx b/apps/nextjs-website/src/components/atoms/ProductHeader/ProductHeader.tsx index 057c6179a8..bf2377a7b1 100644 --- a/apps/nextjs-website/src/components/atoms/ProductHeader/ProductHeader.tsx +++ b/apps/nextjs-website/src/components/atoms/ProductHeader/ProductHeader.tsx @@ -4,9 +4,9 @@ import { Product } from '@/lib/types/product'; import { Box, useTheme } from '@mui/material'; import { Header } from '@/editorialComponents/Header'; import React, { FC } from 'react'; -import { useScrollUp } from '@/components/atoms/ProductHeader/useScrollUp'; import { SITE_HEADER_HEIGHT } from '@/components/molecules/SiteHeader/SiteHeader'; import { useTranslations } from 'next-intl'; +import { useScrollUp } from './useScrollUp'; type ProductHeaderProps = { product: Product; @@ -29,7 +29,7 @@ const ProductHeader: FC = ({ product, path }) => { = ({ {structuredData} {product && path && } {product && showBreadcrumbs && ( - + diff --git a/apps/nextjs-website/src/components/templates/GitBookTemplate/GitBookTemplate.tsx b/apps/nextjs-website/src/components/templates/GitBookTemplate/GitBookTemplate.tsx index 906b370817..a290ab73dc 100644 --- a/apps/nextjs-website/src/components/templates/GitBookTemplate/GitBookTemplate.tsx +++ b/apps/nextjs-website/src/components/templates/GitBookTemplate/GitBookTemplate.tsx @@ -35,12 +35,17 @@ const GitBookTemplate = ({ versions, breadcrumbs, menuDistanceFromTop, - contentMarginTop = 75, + contentMarginTop, hasHeader = true, hasInPageMenu = true, }: GitBookTemplateProps) => { const t = useTranslations(); const paddingTop = hasHeader ? '60px' : '-80px'; + const responsiveContentMarginTop = (contentMarginTop && + `${contentMarginTop}px`) || { + xs: '30px', + md: '110px', + }; return ( @@ -66,7 +71,7 @@ const GitBookTemplate = ({ )} diff --git a/apps/nextjs-website/src/components/templates/UseCaseTemplate/UseCaseTemplate.tsx b/apps/nextjs-website/src/components/templates/UseCaseTemplate/UseCaseTemplate.tsx index 09feee7ad6..45e9f3903b 100644 --- a/apps/nextjs-website/src/components/templates/UseCaseTemplate/UseCaseTemplate.tsx +++ b/apps/nextjs-website/src/components/templates/UseCaseTemplate/UseCaseTemplate.tsx @@ -52,7 +52,7 @@ const UseCaseTemplate = ({ > {product && (