diff options
| author | jacqueline <me@jacqueline.id.au> | 2024-03-07 11:23:31 +1100 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2024-03-07 11:23:31 +1100 |
| commit | beb1f654958c28429323fcb9622c9c8d206979a3 (patch) | |
| tree | 2e81e643a6099e5a9e884dbe2346dd2e761751e1 /lua/main_menu.lua | |
| parent | 14552881900bb3ed0e9ed2d4a732e4104b32ccfa (diff) | |
| parent | eba5adeb8cc606b4d685132248c6481c0aca53f6 (diff) | |
| download | tangara-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.lua | 61 |
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, +} |
