summaryrefslogtreecommitdiff
path: root/lua/main_menu.lua
diff options
context:
space:
mode:
authorailurux <ailuruxx@gmail.com>2024-04-02 11:13:50 +1100
committerailurux <ailuruxx@gmail.com>2024-04-02 11:13:50 +1100
commite20ebe7574db5aedc73f07b7bb3a0a01eae93c84 (patch)
tree34c93ec8a80e282f3ce3e47dd60c41e46de0f8b3 /lua/main_menu.lua
parenta750af35aa6afda40aadca8f7cf8db75f41a43b2 (diff)
parent0d0c4b2307cac8436fea7276956f293262b265ed (diff)
downloadtangara-fw-e20ebe7574db5aedc73f07b7bb3a0a01eae93c84.tar.gz
Merge branch 'main' into lua-volume
Diffstat (limited to 'lua/main_menu.lua')
-rw-r--r--lua/main_menu.lua63
1 files changed, 32 insertions, 31 deletions
diff --git a/lua/main_menu.lua b/lua/main_menu.lua
index 1311f8ea..ac9190be 100644
--- a/lua/main_menu.lua
+++ b/lua/main_menu.lua
@@ -4,42 +4,43 @@ local database = require("database")
local backstack = require("backstack")
local browser = require("browser")
local playing = require("playing")
-local theme = require("theme")
+local styles = require("styles")
+local screen = require("screen")
-return function()
- local menu = widgets.MenuScreen({})
+return screen:new {
+ createUi = function()
+ local menu = widgets.MenuScreen({})
- menu.list = lvgl.List(menu.root, {
- w = lvgl.PCT(100),
- h = lvgl.PCT(100),
- flex_grow = 1,
- })
+ menu.list = lvgl.List(menu.root, {
+ w = lvgl.PCT(100),
+ h = lvgl.PCT(100),
+ flex_grow = 1,
+ })
- local now_playing = menu.list:add_btn(nil, "Now Playing")
- now_playing:onClicked(function()
- backstack.push(playing)
- end)
- now_playing:add_style(theme.list_item)
+ local now_playing = menu.list:add_btn(nil, "Now Playing")
+ now_playing:onClicked(function()
+ backstack.push(playing:new())
+ end)
+ now_playing:add_style(styles.list_item)
- local indexes = database.indexes()
- for _, idx in ipairs(indexes) do
- local btn = menu.list:add_btn(nil, tostring(idx))
- btn:onClicked(function()
- backstack.push(function()
- return browser {
+ local indexes = database.indexes()
+ for _, idx in ipairs(indexes) do
+ local btn = menu.list:add_btn(nil, tostring(idx))
+ btn:onClicked(function()
+ backstack.push(browser:new {
title = tostring(idx),
- iterator = idx:iter()
- }
+ iterator = idx:iter(),
+ })
end)
- end)
- btn:add_style(theme.list_item)
- end
+ btn:add_style(styles.list_item)
+ end
- local settings = menu.list:add_btn(nil, "Settings")
- settings:onClicked(function()
- backstack.push(require("settings").root)
- end)
- settings:add_style(theme.list_item)
+ local settings = menu.list:add_btn(nil, "Settings")
+ settings:onClicked(function()
+ backstack.push(require("settings"):new())
+ end)
+ settings:add_style(styles.list_item)
- return menu
-end
+ return menu
+ end,
+}