diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js new file mode 100644 index 000000000..c5b7fe0d7 --- /dev/null +++ b/apps/quicklaunch/app.js @@ -0,0 +1,72 @@ +var settings = Object.assign(require("Storage").readJSON("quicklaunch.json", true) || {}); + +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 + if (a.nameb.name) return 1; + return 0; +}); + +function save(key, value) { + settings[key] = value; + require("Storage").write("quicklaunch.json",settings); +} + +// First 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); }; + + return E.showMenu(mainmenu); +} + + +var ltappmenu = { + "" : { "title" : "Left Swipe" }, + "< Back" : showMainMenu +}; + +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 +showMainMenu();