diff --git a/resource/interface/client/radial.lua b/resource/interface/client/radial.lua index d2bb7fd..51c9278 100644 --- a/resource/interface/client/radial.lua +++ b/resource/interface/client/radial.lua @@ -24,9 +24,6 @@ local menuHistory = {} ---@type RadialMenuProps? local currentRadial = nil ----@type number | nil -local menuPage = nil - ---Open a the global radial menu or a registered radial submenu with the given id. ---@param id string? local function showRadial(id) @@ -116,7 +113,7 @@ function lib.hideRadial() SendNUIMessage({ action = 'openRadialMenu', - data = menuPage or false + data = false }) SetNuiFocus(false, false) @@ -244,12 +241,9 @@ lib.addKeybind({ defaultKey = 'z', onPressed = function() if isOpen then - menuPage = 1 return lib.hideRadial() end - menuPage = nil - if #menuItems == 0 or IsNuiFocused() or IsPauseMenuActive() then return end isOpen = true diff --git a/web/src/features/menu/radial/index.tsx b/web/src/features/menu/radial/index.tsx index 133c6a5..6ec784e 100644 --- a/web/src/features/menu/radial/index.tsx +++ b/web/src/features/menu/radial/index.tsx @@ -87,19 +87,11 @@ const RadialMenu: React.FC = () => { setMenuItems(items); }, [menu.items, menu.page]); - useNuiEvent( - 'openRadialMenu', - async (data: { items: RadialMenuItem[]; sub?: boolean; page?: number } | false | number) => { - if (!data || typeof data === 'number') { - setVisible(false); - if (typeof data === 'number') setMenu((ps) => ({ ...ps, page: data })); - return; - } - // data.page currently unused but might need later? - setMenu((state) => ({ ...data, page: data.page || state.page })); - setVisible(true); - } - ); + useNuiEvent('openRadialMenu', async (data: { items: RadialMenuItem[]; sub?: boolean } | false) => { + if (!data) return setVisible(false); + setMenu({ ...data, page: 1 }); + setVisible(true); + }); useNuiEvent('refreshItems', (data: RadialMenuItem[]) => { setMenu({ ...menu, items: data }); @@ -110,8 +102,8 @@ const RadialMenu: React.FC = () => { { - if (menu.sub) fetchNui('radialBack'); - else if (menu.page > 1) await changePage(); + if (menu.page > 1) await changePage(); + else if (menu.sub) fetchNui('radialBack'); }} > @@ -169,11 +161,13 @@ const RadialMenu: React.FC = () => { { - if (menu.sub) fetchNui('radialBack'); - else if (menu.page > 1) await changePage(); + if (menu.page > 1) await changePage(); else { - setVisible(false); - fetchNui('radialClose'); + if (menu.sub) fetchNui('radialBack'); + else { + setVisible(false); + fetchNui('radialClose'); + } } }} >