refactor(client/context): rename lastHoveredContextItem variable

This commit is contained in:
Luke
2023-02-08 10:04:53 +01:00
parent 7a22da68e6
commit 61db40c07d
2 changed files with 14 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
local contextMenus = {} local contextMenus = {}
local lastHoveredContextItem = nil local currentHover = nil
local openContextMenu = nil local openContextMenu = nil
local keepInput = IsNuiFocusKeepingInput() local keepInput = IsNuiFocusKeepingInput()
@@ -43,16 +43,16 @@ local function closeContext(_, cb, onExit)
if not cb then SendNUIMessage({ action = 'hideContext' }) end if not cb then SendNUIMessage({ action = 'hideContext' }) end
if lastHoveredContextItem then if currentHover then
local data = contextMenus[openContextMenu].options[lastHoveredContextItem] local data = contextMenus[openContextMenu].options[currentHover]
if data.onHover then data.onHover(false, data.args) end if data.onHover then data.onHover(false, data.args) end
lastHoveredContextItem = nil currentHover = nil
end end
openContextMenu = nil openContextMenu = nil
end end
local function checkID(id) local function checkID(id)
if math.type(tonumber(id)) == 'float' then if math.type(tonumber(id)) == 'float' then
id = math.tointeger(id) id = math.tointeger(id)
elseif tonumber(id) then elseif tonumber(id) then
@@ -125,10 +125,10 @@ RegisterNUICallback('clickContext', function(id, cb)
if data.event then TriggerEvent(data.event, data.args) end if data.event then TriggerEvent(data.event, data.args) end
if data.serverEvent then TriggerServerEvent(data.serverEvent, data.args) end if data.serverEvent then TriggerServerEvent(data.serverEvent, data.args) end
if lastHoveredContextItem then if currentHover then
local data = contextMenus[openContextMenu].options[lastHoveredContextItem] local data = contextMenus[openContextMenu].options[currentHover]
if data.onHover then data.onHover(false, data.args) end if data.onHover then data.onHover(false) end
lastHoveredContextItem = nil currentHover = nil
end end
SendNUIMessage({ SendNUIMessage({
@@ -140,20 +140,13 @@ RegisterNUICallback('onHover', function(data, cb)
cb(1) cb(1)
local id = checkID(data.id) local id = checkID(data.id)
local hoverState = data.hoverState local entered = data.entered
local data = contextMenus[openContextMenu].options[id] local data = contextMenus[openContextMenu].options[id]
if not data.onHover then return end if not data.onHover then return end
if data.onHover and hoverState == true then currentHover = entered and id
lastHoveredContextItem = id data.onHover(entered)
data.onHover(true, data.args)
end
if data.onHover and hoverState == false then
lastHoveredContextItem = nil
data.onHover(false, data.args)
end
end) end)
RegisterNUICallback('closeContext', closeContext) RegisterNUICallback('closeContext', closeContext)

View File

@@ -50,8 +50,8 @@ const ContextButton: React.FC<{
onClick={() => onClick={() =>
!button.disabled ? (button.menu ? openMenu(button.menu) : fetchNui('clickContext', buttonKey)) : null !button.disabled ? (button.menu ? openMenu(button.menu) : fetchNui('clickContext', buttonKey)) : null
} }
onMouseEnter={() => (!button.disabled ? fetchNui('onHover', { hoverState: true, id: buttonKey }) : null)} onMouseEnter={() => (!button.disabled ? fetchNui('onHover', { entered: true, id: buttonKey }) : null)}
onMouseLeave={() => (!button.disabled ? fetchNui('onHover', { hoverState: false, id: buttonKey }) : null)} onMouseLeave={() => (!button.disabled ? fetchNui('onHover', { entered: false, id: buttonKey }) : null)}
variant="default" variant="default"
h="fit-content" h="fit-content"
p={10} p={10}