mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-09-04 09:13:24 +00:00
This reverts commit edd9677f43.
This commit is contained in:
@@ -8,17 +8,6 @@ local equipped_phone_number = nil
|
||||
local nui_generation = 0
|
||||
local live_activity_active = false
|
||||
local open_home_requested = false
|
||||
local admin_panel_open = false
|
||||
local suggested_admin_command = nil
|
||||
local suggested_test_data_command = nil
|
||||
local active_development_command = nil
|
||||
local registered_development_commands = {}
|
||||
local active_key_mapping_command = nil
|
||||
local active_key_mapping_key = nil
|
||||
local key_mapping_revision = 0
|
||||
local refresh_development_command
|
||||
local refresh_phone_key_mapping
|
||||
local refresh_test_data_command_suggestion
|
||||
|
||||
local function get_equipped_phone_number()
|
||||
if not device_payload or not device_payload.device.sim then
|
||||
@@ -75,26 +64,6 @@ Bridge.Debug("debug", "[sky_phone] Client script initialized.", { always = true
|
||||
|
||||
local locale, locale_name = SkyPhoneLocales.Resolve(Config.Bridge.Locale)
|
||||
|
||||
local function send_admin_panel_open()
|
||||
SendNUIMessage({
|
||||
type = "admin:open",
|
||||
data = {
|
||||
lang = locale_name,
|
||||
locales = locale.Nui,
|
||||
fallbackLocales = Locales.en.Nui,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
local function close_admin_panel()
|
||||
if not admin_panel_open then
|
||||
return
|
||||
end
|
||||
admin_panel_open = false
|
||||
SkyPhoneFocus.SetAdminPanel(false)
|
||||
SendNUIMessage({ type = "admin:close" })
|
||||
end
|
||||
|
||||
local function send_open_message()
|
||||
if not device_payload then
|
||||
return
|
||||
@@ -113,39 +82,6 @@ local function send_open_message()
|
||||
open_home_requested = false
|
||||
end
|
||||
|
||||
local function refresh_admin_command_suggestion()
|
||||
if suggested_admin_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. suggested_admin_command)
|
||||
suggested_admin_command = nil
|
||||
end
|
||||
if Config.AdminPanel.Enabled then
|
||||
suggested_admin_command = Config.AdminPanel.Command
|
||||
TriggerEvent(
|
||||
"chat:addSuggestion",
|
||||
"/" .. suggested_admin_command,
|
||||
locale.AdminCommand.CommandDescription
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
AddEventHandler("sky_phone:configurator:updated", function()
|
||||
locale, locale_name = SkyPhoneLocales.Resolve(Config.Bridge.Locale)
|
||||
refresh_development_command()
|
||||
refresh_phone_key_mapping()
|
||||
refresh_test_data_command_suggestion()
|
||||
refresh_admin_command_suggestion()
|
||||
SkyPhoneApps.SendCatalog()
|
||||
if is_open and device_payload then
|
||||
device_payload.lang = locale_name
|
||||
device_payload.locales = locale.Nui
|
||||
device_payload.fallbackLocales = Locales.en.Nui
|
||||
SendNUIMessage({ type = "device:updated", data = device_payload })
|
||||
end
|
||||
if admin_panel_open then
|
||||
send_admin_panel_open()
|
||||
end
|
||||
end)
|
||||
|
||||
local function open_phone()
|
||||
if is_open or not device_payload then
|
||||
return
|
||||
@@ -216,46 +152,18 @@ AddEventHandler("sky_phone:client:forceClose", function()
|
||||
close_phone()
|
||||
end)
|
||||
|
||||
local function run_development_command()
|
||||
if is_open or open_requested then
|
||||
close_phone()
|
||||
return
|
||||
end
|
||||
|
||||
open_without_focus = false
|
||||
Bridge.Callbacks.Trigger("sky_phone:device:development-open", {})
|
||||
if Config.Phone.DevelopmentCommand then
|
||||
RegisterCommand(Config.Command, function()
|
||||
if is_open or open_requested then
|
||||
close_phone()
|
||||
return
|
||||
end
|
||||
open_without_focus = false
|
||||
Bridge.Callbacks.Trigger("sky_phone:device:development-open", {})
|
||||
end, false)
|
||||
end
|
||||
|
||||
refresh_development_command = function()
|
||||
local command_name = Config.Phone.DevelopmentCommand and Config.Command or nil
|
||||
if command_name ~= nil and (type(command_name) ~= "string" or command_name == "") then
|
||||
error("[sky_phone] Config.Command must be a non-empty command name.")
|
||||
end
|
||||
|
||||
if active_development_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. active_development_command)
|
||||
end
|
||||
|
||||
active_development_command = command_name
|
||||
if not command_name then
|
||||
return
|
||||
end
|
||||
|
||||
if not registered_development_commands[command_name] then
|
||||
registered_development_commands[command_name] = true
|
||||
RegisterCommand(command_name, function()
|
||||
if active_development_command == command_name and Config.Phone.DevelopmentCommand then
|
||||
run_development_command()
|
||||
end
|
||||
end, false)
|
||||
end
|
||||
|
||||
TriggerEvent("chat:addSuggestion", "/" .. command_name, locale.CommandDescription)
|
||||
end
|
||||
|
||||
refresh_development_command()
|
||||
|
||||
local function run_phone_toggle()
|
||||
RegisterCommand("sky_phone_toggle", function()
|
||||
if is_open or open_requested then
|
||||
close_phone()
|
||||
return
|
||||
@@ -263,7 +171,7 @@ local function run_phone_toggle()
|
||||
|
||||
open_without_focus = false
|
||||
Bridge.Callbacks.Trigger("sky_phone:device:open-request", {})
|
||||
end
|
||||
end, false)
|
||||
|
||||
RegisterCommand("sky_phone_live_activity_open", function()
|
||||
if not live_activity_active or is_open or open_requested then
|
||||
@@ -277,36 +185,6 @@ RegisterCommand("sky_phone_live_activity_open", function()
|
||||
end
|
||||
end, false)
|
||||
|
||||
RegisterCommand("sky_phone_toggle", run_phone_toggle, false)
|
||||
|
||||
refresh_phone_key_mapping = function()
|
||||
local key_name = Config.Phone.Keybind
|
||||
if key_name ~= false and key_name ~= nil and (type(key_name) ~= "string" or key_name == "") then
|
||||
error("[sky_phone] Config.Phone.Keybind must be a non-empty keyboard key name or false.")
|
||||
end
|
||||
if key_name == active_key_mapping_key then
|
||||
return
|
||||
end
|
||||
|
||||
active_key_mapping_key = key_name
|
||||
active_key_mapping_command = nil
|
||||
if not key_name then
|
||||
return
|
||||
end
|
||||
|
||||
key_mapping_revision = key_mapping_revision + 1
|
||||
local command_name = "sky_phone_toggle_config_" .. key_mapping_revision
|
||||
active_key_mapping_command = command_name
|
||||
RegisterCommand(command_name, function()
|
||||
if active_key_mapping_command == command_name then
|
||||
run_phone_toggle()
|
||||
end
|
||||
end, false)
|
||||
RegisterKeyMapping(command_name, locale.Controls.OpenPhone, "keyboard", key_name)
|
||||
end
|
||||
|
||||
refresh_phone_key_mapping()
|
||||
|
||||
RegisterKeyMapping(
|
||||
"sky_phone_live_activity_open",
|
||||
locale.Controls.OpenPhone,
|
||||
@@ -314,18 +192,13 @@ RegisterKeyMapping(
|
||||
"SPACE"
|
||||
)
|
||||
|
||||
refresh_test_data_command_suggestion = function()
|
||||
if suggested_test_data_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. suggested_test_data_command)
|
||||
suggested_test_data_command = nil
|
||||
if Config.Phone.Keybind then
|
||||
if type(Config.Phone.Keybind) ~= "string" or Config.Phone.Keybind == "" then
|
||||
error("[sky_phone] Config.Phone.Keybind must be a non-empty keyboard key name or false.")
|
||||
end
|
||||
if Config.TestData.Enabled then
|
||||
suggested_test_data_command = Config.TestData.Command
|
||||
TriggerEvent("chat:addSuggestion", "/" .. suggested_test_data_command, locale.TestData.CommandDescription)
|
||||
end
|
||||
end
|
||||
|
||||
refresh_test_data_command_suggestion()
|
||||
RegisterKeyMapping("sky_phone_toggle", locale.Controls.OpenPhone, "keyboard", Config.Phone.Keybind)
|
||||
end
|
||||
|
||||
RegisterNetEvent("sky_phone:testdata:feedback", function(success, detail)
|
||||
local test_data_locale = locale.TestData
|
||||
@@ -351,9 +224,6 @@ RegisterNUICallback("ui:ready", function(data, cb)
|
||||
if open_requested and device_payload then
|
||||
send_open_message()
|
||||
end
|
||||
if admin_panel_open then
|
||||
send_admin_panel_open()
|
||||
end
|
||||
SkyPhoneCalls.ReplayNui()
|
||||
SkyPhoneSimPicker.ReplayNui()
|
||||
SkyPhoneFocus.Reapply()
|
||||
@@ -399,42 +269,12 @@ RegisterNUICallback("ui:opened", function(data, cb)
|
||||
cb({ success = true })
|
||||
end)
|
||||
|
||||
RegisterNetEvent("sky_phone:admin:launch", function()
|
||||
if is_open or open_requested then
|
||||
close_phone()
|
||||
end
|
||||
admin_panel_open = true
|
||||
SkyPhoneFocus.SetAdminPanel(true)
|
||||
send_admin_panel_open()
|
||||
end)
|
||||
|
||||
RegisterNetEvent("sky_phone:admin:command-error", function(error_code)
|
||||
local messages = locale.AdminCommand.Errors
|
||||
Bridge.Framework.Notify(
|
||||
"iFruit",
|
||||
messages[error_code] or messages.default,
|
||||
"error",
|
||||
5000
|
||||
)
|
||||
end)
|
||||
|
||||
RegisterNUICallback("admin:close", function(data, cb)
|
||||
if type(data) ~= "table" then
|
||||
cb({ success = false, error = "invalid_request" })
|
||||
return
|
||||
end
|
||||
close_admin_panel()
|
||||
cb({ success = true })
|
||||
end)
|
||||
|
||||
RegisterNUICallback("ui:input-focus", function(data, cb)
|
||||
if type(data) ~= "table" or type(data.active) ~= "boolean" then
|
||||
cb({ success = false, error = "invalid_request" })
|
||||
return
|
||||
end
|
||||
SkyPhoneFocus.SetTextInputFocused(
|
||||
data.active and (is_open or open_requested or admin_panel_open)
|
||||
)
|
||||
SkyPhoneFocus.SetTextInputFocused(data.active and (is_open or open_requested))
|
||||
cb({ success = true })
|
||||
end)
|
||||
|
||||
@@ -513,7 +353,12 @@ RegisterNetEvent("sky_phone:device:error", function(error_code)
|
||||
end)
|
||||
|
||||
CreateThread(function()
|
||||
refresh_admin_command_suggestion()
|
||||
if Config.Phone.DevelopmentCommand then
|
||||
TriggerEvent("chat:addSuggestion", "/" .. Config.Command, locale.CommandDescription)
|
||||
end
|
||||
if Config.TestData.Enabled then
|
||||
TriggerEvent("chat:addSuggestion", "/" .. Config.TestData.Command, locale.TestData.CommandDescription)
|
||||
end
|
||||
end)
|
||||
|
||||
AddEventHandler("onResourceStop", function(resource_name)
|
||||
@@ -524,20 +369,16 @@ AddEventHandler("onResourceStop", function(resource_name)
|
||||
is_open = false
|
||||
open_requested = false
|
||||
open_without_focus = false
|
||||
admin_panel_open = false
|
||||
|
||||
TriggerEvent("sky_phone:animation:reset")
|
||||
SkyPhoneCalls.Reset()
|
||||
SkyPhoneSimPicker.Reset()
|
||||
SkyPhoneFocus.Reset()
|
||||
|
||||
if active_development_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. active_development_command)
|
||||
if Config.Phone.DevelopmentCommand then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. Config.Command)
|
||||
end
|
||||
if suggested_test_data_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. suggested_test_data_command)
|
||||
end
|
||||
if suggested_admin_command then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. suggested_admin_command)
|
||||
if Config.TestData.Enabled then
|
||||
TriggerEvent("chat:removeSuggestion", "/" .. Config.TestData.Command)
|
||||
end
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user