Files
MosisDesigner/assets/scripts/navigation.lua
2026-01-15 23:52:09 +01:00

55 lines
1.3 KiB
Lua

-- Navigation System for Virtual Smartphone
-- Handles screen transitions and state management
-- Screen registry
local screens = {
home = "screens/home.rml",
lock = "screens/lock.rml",
dialer = "screens/dialer.rml",
contacts = "screens/contacts.rml",
messages = "screens/messages.rml",
settings = "screens/settings.rml",
browser = "screens/browser.rml"
}
-- Current screen state
local current_screen = "home"
local screen_history = {}
-- Navigate to a screen
function navigateTo(screen_name)
if screens[screen_name] then
-- Add current screen to history
table.insert(screen_history, current_screen)
current_screen = screen_name
-- Load the new document
-- Note: In RmlUi, we'd typically use document loading
print("Navigating to: " .. screen_name)
else
print("Unknown screen: " .. screen_name)
end
end
-- Go back to previous screen
function goBack()
if #screen_history > 0 then
current_screen = table.remove(screen_history)
print("Going back to: " .. current_screen)
else
print("No history to go back to")
end
end
-- Get current screen name
function getCurrentScreen()
return current_screen
end
-- Clear navigation history
function clearHistory()
screen_history = {}
end
print("Navigation system initialized")