30 lines
		
	
	
		
			No EOL
		
	
	
		
			783 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			No EOL
		
	
	
		
			783 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
Menus = Menus or {}
 | 
						|
Menu = {}
 | 
						|
 | 
						|
---Opens a menu based on the configuration.
 | 
						|
---@param data table The menu data.
 | 
						|
---@param useQb boolean Whether to use QB menu syntax.
 | 
						|
---@return id string The menu ID.
 | 
						|
function Menu.Open(data, useQb)
 | 
						|
    local id = data.id or Ids.CreateUniqueId(Menus, nil, nil)
 | 
						|
    Menus[id] = OpenMenu(id, data, useQb)
 | 
						|
    data.id = id
 | 
						|
    return id
 | 
						|
end
 | 
						|
 | 
						|
function Menu.GetResourceName()
 | 
						|
    return GetMenuResourceName()
 | 
						|
end
 | 
						|
 | 
						|
---Event to handle callback from menu selection.
 | 
						|
---@param _args table The arguments passed to the callback.
 | 
						|
---@return nil
 | 
						|
RegisterNetEvent('community_bridge:client:MenuCallback', function(_args)
 | 
						|
    local id = _args.id
 | 
						|
    local onSelect = _args.onSelect
 | 
						|
    local args = _args.args
 | 
						|
    Menus[id] = nil
 | 
						|
    onSelect(args)
 | 
						|
end)
 | 
						|
 | 
						|
return Menu |