81 lines
1.9 KiB
Lua
81 lines
1.9 KiB
Lua
-- Phone/Dialer functionality for Virtual Smartphone
|
|
|
|
-- Dial pad state
|
|
local dial_number = ""
|
|
local max_digits = 15
|
|
|
|
-- Add a digit to the dial display
|
|
function dialPress(digit)
|
|
if #dial_number < max_digits then
|
|
dial_number = dial_number .. digit
|
|
updateDialDisplay()
|
|
print("Dialed: " .. digit .. " | Number: " .. dial_number)
|
|
end
|
|
end
|
|
|
|
-- Clear the last digit
|
|
function dialBackspace()
|
|
if #dial_number > 0 then
|
|
dial_number = dial_number:sub(1, -2)
|
|
updateDialDisplay()
|
|
print("Backspace | Number: " .. dial_number)
|
|
end
|
|
end
|
|
|
|
-- Clear all digits
|
|
function dialClear()
|
|
dial_number = ""
|
|
updateDialDisplay()
|
|
print("Cleared dial pad")
|
|
end
|
|
|
|
-- Update the dial display element
|
|
function updateDialDisplay()
|
|
local display = document:GetElementById("dial-display")
|
|
if display then
|
|
-- Format number with dashes for readability
|
|
local formatted = formatPhoneNumber(dial_number)
|
|
display.inner_rml = formatted
|
|
end
|
|
end
|
|
|
|
-- Format phone number for display
|
|
function formatPhoneNumber(number)
|
|
local len = #number
|
|
if len == 0 then
|
|
return ""
|
|
elseif len <= 3 then
|
|
return number
|
|
elseif len <= 6 then
|
|
return number:sub(1, 3) .. "-" .. number:sub(4)
|
|
elseif len <= 10 then
|
|
return "(" .. number:sub(1, 3) .. ") " .. number:sub(4, 6) .. "-" .. number:sub(7)
|
|
else
|
|
return "+1 (" .. number:sub(1, 3) .. ") " .. number:sub(4, 6) .. "-" .. number:sub(7, 10)
|
|
end
|
|
end
|
|
|
|
-- Make a call (simulated)
|
|
function makeCall()
|
|
if #dial_number > 0 then
|
|
print("Calling: " .. dial_number)
|
|
-- In a real app, this would initiate a call
|
|
-- For now, just show feedback
|
|
else
|
|
print("No number to call")
|
|
end
|
|
end
|
|
|
|
-- End a call (simulated)
|
|
function endCall()
|
|
print("Call ended")
|
|
dialClear()
|
|
end
|
|
|
|
-- Get the current dial number
|
|
function getDialNumber()
|
|
return dial_number
|
|
end
|
|
|
|
print("Phone system initialized")
|