basic ui elements
This commit is contained in:
54
assets/scripts/navigation.lua
Normal file
54
assets/scripts/navigation.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
-- 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")
|
||||
Reference in New Issue
Block a user