From 873d6ccc7c0ac98824137e2730b6791e81ad4947 Mon Sep 17 00:00:00 2001 From: elise Date: Sun, 11 Aug 2024 10:51:46 +0200 Subject: [PATCH] reset scroll position on path change --- web/src/components/layout/Header.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/src/components/layout/Header.tsx b/web/src/components/layout/Header.tsx index 04b86e0..b1d71c5 100644 --- a/web/src/components/layout/Header.tsx +++ b/web/src/components/layout/Header.tsx @@ -20,6 +20,7 @@ export const Header = () => { setShowMenu(!showMenu); } + // remove ability to scroll when opening menu + keep previous scroll position when closing menu useEffect(() => { if (showMenu) { const scrollY = window.scrollY; @@ -33,9 +34,16 @@ export const Header = () => { } }, [showMenu]); + // reset scroll position on path change + useEffect(() => { + if (!showMenu) { + window.scrollTo(0, 0); + } + }, [location.pathname, showMenu]); + + // hide menu and reset active menu item on path change const pathname = usePathname(); useEffect(() => { - // hide menu on path change setShowMenu(false); setActiveMenuItem(undefined); }, [pathname]);