From 5c349485289da0591dc654dc17e817ba5ff6b2b5 Mon Sep 17 00:00:00 2001 From: BerkieBb <82737367+BerkieBb@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:26:59 +0200 Subject: [PATCH] fix(web/menu): don't call onSideScroll when opening the menu (#123) * fix(web/features/menu/list): don't call onSideScroll when opening the menu * refactor(web/menu): use conventional ref naming Conventional ref variable names contain the word `ref` or `refs` if it's an array Co-authored-by: Luke --- web/src/features/menu/list/index.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/web/src/features/menu/list/index.tsx b/web/src/features/menu/list/index.tsx index 228707b..1a332d2 100644 --- a/web/src/features/menu/list/index.tsx +++ b/web/src/features/menu/list/index.tsx @@ -36,6 +36,7 @@ const ListMenu: React.FC = () => { const [visible, setVisible] = useState(false); const [indexStates, setIndexStates] = useState>({}); const listRefs = useRef>([]); + const firstRenderRef = useRef(false); const closeMenu = (ignoreFetch?: boolean, keyPressed?: string, forceClose?: boolean) => { if (menu.canClose === false && !forceClose) return; @@ -87,6 +88,10 @@ const ListMenu: React.FC = () => { useEffect(() => { if (!menu.items[selected]?.values) return; + if (firstRenderRef.current) { + firstRenderRef.current = false; + return; + } const timer = setTimeout(() => { fetchNui('changeIndex', [selected, indexStates[selected]]).catch(); }, 100); @@ -122,6 +127,7 @@ const ListMenu: React.FC = () => { useNuiEvent('closeMenu', () => closeMenu(true, undefined, true)); useNuiEvent('setMenu', (data: MenuSettings) => { + firstRenderRef.current = true; if (!data.startItemIndex || data.startItemIndex < 0) data.startItemIndex = 0; else if (data.startItemIndex >= data.items.length) data.startItemIndex = data.items.length - 1; setSelected(data.startItemIndex);