var s = require("Storage"); var apps = s.list(/\.info$/).map(app=>{var a=s.readJSON(app,1);return a&&{name:a.name,type:a.type,icon:a.icon,sortorder:a.sortorder,src:a.src}}).filter(app=>app && (app.type=="app" || app.type=="clock" || !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; }); var selected = 0; var menuScroll = 0; var menuShowing = false; function drawMenu() { g.setFont("6x8",2); g.setFontAlign(-1,0); var n = 3; if (selected>=n+menuScroll) menuScroll = 1+selected-n; if (selectedn+menuScroll) g.fillPoly([120,239,100,219,140,219]); else g.clearRect(100,219,140,239); for (var i=0;i=apps.length) selected = 0; drawMenu(); }, BTN3, {repeat:true}); setWatch(function() { // run if (!apps[selected].src) return; if (require("Storage").read(apps[selected].src)===undefined) { E.showMessage("App Source\nNot found"); setTimeout(drawMenu, 2000); } else { E.showMessage("Loading..."); load(apps[selected].src); } }, BTN2, {repeat:true,edge:"falling"});