From b8cbd446b8d40489bde0d442b18bf57b1e623d59 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Mon, 14 Aug 2023 16:00:54 +0530 Subject: [PATCH] chore: fix popover initial scroll --- .../Popover/PositionedPopoverContent.tsx | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/web/src/javascripts/Components/Popover/PositionedPopoverContent.tsx b/packages/web/src/javascripts/Components/Popover/PositionedPopoverContent.tsx index 16271a3b2..0ac18d784 100644 --- a/packages/web/src/javascripts/Components/Popover/PositionedPopoverContent.tsx +++ b/packages/web/src/javascripts/Components/Popover/PositionedPopoverContent.tsx @@ -85,17 +85,11 @@ const PositionedPopoverContent = ({ useDisableBodyScrollOnMobile() - const correctInitialScrollForOverflowedContent = useCallback(() => { - if (popoverElement) { - setTimeout(() => { - popoverElement.scrollTop = 0 - }, 10) + const correctInitialScrollForOverflowedContent = useCallback((element: HTMLElement | null) => { + if (element && element.scrollTop > 0) { + element.scrollTop = 0 } - }, [popoverElement]) - - useLayoutEffect(() => { - correctInitialScrollForOverflowedContent() - }, [popoverElement, correctInitialScrollForOverflowedContent]) + }, []) const addCloseMethod = useCallback( (element: HTMLDivElement | null) => { @@ -150,7 +144,7 @@ const PositionedPopoverContent = ({ styles ? 'scale-100 opacity-100' : 'scale-95 opacity-0', className, )} - ref={setAnimationElement} + ref={mergeRefs([correctInitialScrollForOverflowedContent, setAnimationElement])} > {children}