mirror of
https://github.com/CommunityOx/ox_lib.git
synced 2026-08-17 06:56:03 +01:00
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
This commit is contained in:
@@ -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 (
|
||||
|
||||
Reference in New Issue
Block a user