From dbc3da8a1a977aef0b976e0952ed4fcbf6c189b1 Mon Sep 17 00:00:00 2001 From: frigis1 <63980066+frigis1@users.noreply.github.com> Date: Fri, 25 Mar 2022 23:53:20 -0700 Subject: [PATCH] Update app.js --- apps/quicklaunch/app.js | 68 +++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 10 deletions(-) diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index ae684f005..8976cd20d 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -1,7 +1,15 @@ -var s = require("Storage"); -let settings = Object.assign({ showClocks: true }, s.readJSON("launch.json", true) || {}); +var settings = Object.assign(require("Storage").readJSON("quicklaunch.json", true) || {}); -var apps = s.list(/\.info$/).map(app=>{var a=s.readJSON(app,1);return a&&{name:a.name,type:a.type,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || (app.type=="clock" && settings.showClocks) || !app.type)); +if (!settings.leftapp) { + settings["leftapp"] = {"name":"(none)"}; + require("Storage").write("quicklaunch.json",settings); +} +if (!settings.rightapp) { + settings["rightapp"] = {"name":"(none)"}; + require("Storage").write("quicklaunch.json",settings); +} + +var apps = require("Storage").list(/\.info$/).map(app=>{var a=require("Storage").readJSON(app,1);return a&&{name:a.name,type:a.type,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || (app.type=="clock" && Object.assign(require("Storage").readJSON("launch.json", true) || {}).showClocks) || !app.type)); apps.sort((a,b)=>{ var n=(0|a.sortorder)-(0|b.sortorder); if (n) return n; // do sortorder first @@ -10,17 +18,57 @@ apps.sort((a,b)=>{ return 0; }); +function save(key, value) { + settings[key] = value; + require("Storage").write("quicklaunch.json",settings); +} + // First menu -var mainmenu = { - "" : { "title" : "-- Main Menu --" }, +function showMainMenu() { + var mainmenu = { + "" : { "title" : "Quick Launch" } + }; + + mainmenu["Left: "+settings.leftapp.name] = function() { E.showMenu(ltappmenu); }; + mainmenu["Right: "+settings.rightapp.name] = function() { E.showMenu(rtappmenu); }; + mainmenu["Launch left "+settings.leftapp.name] = function() { load(settings.leftapp.src); }; + mainmenu["Launch right "+settings.rightapp.name] = function() { load(settings.rightapp.src); }; + + return E.showMenu(mainmenu); +} + + +var ltappmenu = { + "" : { "title" : "Left Swipe" }, + "< Back" : showMainMenu }; -apps.forEach((app)=>{ - mainmenu[app.name] = function() { - E.showMessage(/*LANG*/"Loading..."); - load(app.src); +ltappmenu["(none)"] = function() { + save("leftapp", {"name":"(none)"}); + showMainMenu(); +}; +apps.forEach((a)=>{ + ltappmenu[a.name] = function() { + save("leftapp", a); + showMainMenu(); + }; +}); + +var rtappmenu = { + "" : { "title" : "Right Swipe" }, + "< Back" : showMainMenu +}; + +rtappmenu["(none)"] = function() { + save("rightapp", {"name":"(none)"}); + showMainMenu(); +}; +apps.forEach((b)=>{ + rtappmenu[b.name] = function() { + save("rightapp", b); + showMainMenu(); }; }); // Actually display the menu -E.showMenu(mainmenu); +showMainMenu();