From 8a0a167adbf3d9b6f8b6f16aaf20ca39ad5549de Mon Sep 17 00:00:00 2001 From: jacqueline Date: Sun, 12 Nov 2023 19:14:09 +1100 Subject: Convert the main menu screen to lua lol --- lua/main_menu.lua | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lua/main_menu.lua (limited to 'lua/main_menu.lua') diff --git a/lua/main_menu.lua b/lua/main_menu.lua new file mode 100644 index 00000000..924b51cf --- /dev/null +++ b/lua/main_menu.lua @@ -0,0 +1,47 @@ +local lvgl = require("lvgl") +local widgets = require("widgets") +local legacy_ui = require("legacy_ui") +local database = require("database") + +local main_menu = {} + +function main_menu:Create() + local root = lvgl.Object(nil, { + flex = { + flex_direction = "column", + flex_wrap = "wrap", + justify_content = "flex-start", + align_items = "flex-start", + align_content = "flex-start", + }, + w = lvgl.HOR_RES(), + h = lvgl.VER_RES(), + }) + root:center() + + widgets.StatusBar(root, {}) + + local list = lvgl.List(root, { + w = lvgl.PCT(100), + h = lvgl.PCT(100), + flex_grow = 1, + }) + + list:add_btn(nil, "Now Playing"):onClicked(function() + legacy_ui.open_now_playing(); + end) + + local indexes = database.get_indexes() + for id, name in ipairs(indexes) do + local btn = list:add_btn(nil, name) + btn:onClicked(function() + legacy_ui.open_browse(id); + end) + end + + list:add_btn(nil, "Settings"):onClicked(function() + legacy_ui.open_settings(); + end) +end + +return main_menu -- cgit v1.2.3