Update app.js

master
frigis1 2022-03-25 23:53:20 -07:00 committed by GitHub
parent 6ea588646e
commit dbc3da8a1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 58 additions and 10 deletions

View File

@ -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();