diff --git a/components/core/Layout/Layout.tsx b/components/core/Layout/Layout.tsx index e6e45fb26..f2deda1ee 100644 --- a/components/core/Layout/Layout.tsx +++ b/components/core/Layout/Layout.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react' +import { FC, useEffect, useState } from 'react' import cn from 'classnames' import type { Page } from '@lib/bigcommerce/api/operations/get-all-pages' import { CommerceProvider } from '@lib/bigcommerce' @@ -18,13 +18,37 @@ interface Props { const Layout: FC = ({ children, pageProps }) => { const { displaySidebar, closeSidebar } = useUI() const [acceptedCookies, setAcceptedCookies] = useState(false) + const [hasScrolled, setHasScrolled] = useState(false) + + useEffect(() => { + const offset = 0 + function handleScroll() { + const { scrollTop } = document.documentElement + if (scrollTop > offset) setHasScrolled(true) + else setHasScrolled(false) + } + document.addEventListener('scroll', handleScroll) + + return () => { + document.removeEventListener('scroll', handleScroll) + } + }, []) return (
- - - +
+ + + +
{children}