From e806781dde7edf96f1e26191ed07077743ea18e6 Mon Sep 17 00:00:00 2001 From: Luke Date: Thu, 8 Dec 2022 11:23:49 +0100 Subject: [PATCH] fix(web/menu): fix onSideScroll getting called on open Potentially fixes an issue where if your first item in the menu was a side scroll the onSideScroll would get instantly called when opening --- web/src/features/menu/list/index.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/features/menu/list/index.tsx b/web/src/features/menu/list/index.tsx index 14f6c0d..fb17c65 100644 --- a/web/src/features/menu/list/index.tsx +++ b/web/src/features/menu/list/index.tsx @@ -95,11 +95,11 @@ const ListMenu: React.FC = () => { }; useEffect(() => { + if (menu.items[selected]?.checked === undefined) return; if (firstRenderRef.current) { firstRenderRef.current = false; return; } - if (menu.items[selected]?.checked === undefined) return; const timer = setTimeout(() => { fetchNui('changeChecked', [selected, checkedStates[selected]]).catch(); }, 100); @@ -107,11 +107,11 @@ const ListMenu: React.FC = () => { }, [checkedStates]); useEffect(() => { + if (!menu.items[selected]?.values) return; if (firstRenderRef.current) { firstRenderRef.current = false; return; } - if (!menu.items[selected]?.values) return; const timer = setTimeout(() => { fetchNui('changeIndex', [selected, indexStates[selected]]).catch(); }, 100); @@ -162,7 +162,6 @@ 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); @@ -179,6 +178,7 @@ const ListMenu: React.FC = () => { setIndexStates(arrayIndexes); setCheckedStates(checkedIndexes); listRefs.current[data.startItemIndex]?.focus(); + firstRenderRef.current = true; }); return (