if Config.Menu ~= 'qb-menu' then return end function OpenManagementMenu() local elementsList = { { header = 'Management', isMenuHeader = true, }, { header = 'Give Key', params = { event = 'advancedgarages:openGiveKeyMenu', } }, { header = 'Key Holders', params = { event = 'advancedgarages:openKeyHoldersMenu', } } } exports['qb-menu']:openMenu(elementsList) end function openGiveKeyMenu(players) local elementsList = {} table.insert(elementsList, { header = 'Give Key', isMenuHeader = true, }) for k, v in pairs(players) do table.insert(elementsList, { header = 'Player: ' .. v.name.firstName .. ' ' .. v.name.lastName, params = { isServer = true, event = 'advancedgarages:giveKey', args = { id = v.id, garage = ClosestGarage } } }) end exports['qb-menu']:openMenu(elementsList) end function openTakeKeyMenu() local elementsList = {} local holders = lib.callback.await('advancedgarages:getGarageKeyHolders', false, ClosestGarage) if not holders or #holders == 0 then Notification(i18n.t('keyholders.empty_list'), 'info') return end table.insert(elementsList, { header = 'Take Key', isMenuHeader = true, }) for k, v in pairs(holders) do table.insert(elementsList, { header = 'Player: ' .. v.firstname .. ' ' .. v.lastname, params = { isServer = true, event = 'advancedgarages:takeKey', args = { id = v.identifier, garage = ClosestGarage } } }) end exports['qb-menu']:openMenu(elementsList) end function HandleKeyboard(callback) local dialog = exports['qb-input']:ShowInput({ header = 'Set a Price', submitText = 'Continue', inputs = { { text = 'Garage Price...', name = 'price', type = 'number', isRequired = true, } }, }) if dialog ~= nil then for k, v in pairs(dialog) do callback(v) end end end function HandleGarageJob() local dialog = exports['qb-input']:ShowInput({ header = 'Job Name (you can leave it blank for everyone)', submitText = 'Continue', inputs = { { text = 'Job Name...', name = 'Job public garage', type = 'text', isRequired = false, } }, }) if dialog ~= nil then for k, v in pairs(dialog) do if v and v ~= '' then return v end return nil end end end function OpenRecoveryMenu(vehicleList) local elementsList = {} table.insert(elementsList, { header = 'Recovery Vehicle (OUT)', isMenuHeader = true, }) for k, v in pairs(vehicleList) do table.insert(elementsList, { header = v.plate, params = { isServer = true, event = 'advancedgarages:RecoveryVehicle', args = { plate = v.plate, type = v.type } } }) end exports['qb-menu']:openMenu(elementsList) end function OpenDeleteJobVehicleMenu(garage, job) local menu = {} local vehicles = lib.callback.await('advancedgarages:getJobVehicles', false, garage, job) if not vehicles or #vehicles == 0 then Notification(i18n.t('keyholders.empty_out'), 'info') return end table.insert(menu, { header = 'Delete work vehicles' }) for k, v in pairs(vehicles) do table.insert(menu, { header = v.plate, params = { isServer = true, event = 'advancedgarages:deleteJobVehicle', args = { plate = v.plate, garage = garage } } }) end exports['qb-menu']:openMenu(menu) end