summaryrefslogtreecommitdiff
path: root/lua/main_menu.lua
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-03-07 11:23:31 +1100
committerjacqueline <me@jacqueline.id.au>2024-03-07 11:23:31 +1100
commitbeb1f654958c28429323fcb9622c9c8d206979a3 (patch)
tree2e81e643a6099e5a9e884dbe2346dd2e761751e1 /lua/main_menu.lua
parent14552881900bb3ed0e9ed2d4a732e4104b32ccfa (diff)
parenteba5adeb8cc606b4d685132248c6481c0aca53f6 (diff)
downloadtangara-fw-beb1f654958c28429323fcb9622c9c8d206979a3.tar.gz
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
Diffstat (limited to 'lua/main_menu.lua')
-rw-r--r--lua/main_menu.lua61
1 files changed, 31 insertions, 30 deletions
diff --git a/lua/main_menu.lua b/lua/main_menu.lua
index 1311f8ea..7d47b785 100644
--- a/lua/main_menu.lua
+++ b/lua/main_menu.lua
@@ -5,41 +5,42 @@ local backstack = require("backstack")
local browser = require("browser")
local playing = require("playing")
local theme = require("theme")
+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(theme.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(theme.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(theme.list_item)
- return menu
-end
+ return menu
+ end,
+}