From aa914f4e6f98ce583e6a33416573d20723bf2de6 Mon Sep 17 00:00:00 2001 From: elisejakob Date: Sun, 7 Jul 2024 14:02:42 +0200 Subject: [PATCH] reverse header observer fuckery --- web/src/components/layout/Header.tsx | 17 ++++++++++------- web/src/components/layout/header.module.scss | 3 +-- web/src/css/base.scss | 7 ------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/web/src/components/layout/Header.tsx b/web/src/components/layout/Header.tsx index 92b9755..17c18af 100644 --- a/web/src/components/layout/Header.tsx +++ b/web/src/components/layout/Header.tsx @@ -8,7 +8,7 @@ import Icon from "../general/Icon"; import { useInView } from "react-intersection-observer"; export const Header = () => { - const { ref: observer, inView: isScrolled } = useInView({ + const { ref: observer, inView: isInView } = useInView({ triggerOnce: false, }); @@ -36,11 +36,14 @@ export const Header = () => { useEffect(() => { if (showMenu) { - document.body.style.overflow = "hidden"; - document.body.style.height = "100vh"; + const scrollY = window.scrollY; + document.body.style.position = "fixed"; + document.body.style.top = `-${scrollY}px`; } else { - document.body.style.overflow = ""; - document.body.style.height = ""; + const scrollY = parseInt(document.body.style.top || "0") * -1; + document.body.style.position = ""; + document.body.style.top = ""; + window.scrollTo(0, scrollY); } }, [showMenu]); @@ -60,7 +63,7 @@ export const Header = () => {
@@ -176,7 +179,7 @@ export const Header = () => {
- {isScrolled ? : } + {!isInView ? : }