From 746351da9a10b1122ad1a44373137ca649e3731a Mon Sep 17 00:00:00 2001 From: RKBoss6 Date: Thu, 24 Jul 2025 15:36:48 -0400 Subject: [PATCH] Create settings.js --- apps/smartbatt/settings.js | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 apps/smartbatt/settings.js diff --git a/apps/smartbatt/settings.js b/apps/smartbatt/settings.js new file mode 100644 index 000000000..353e55ebb --- /dev/null +++ b/apps/smartbatt/settings.js @@ -0,0 +1,42 @@ + +(function(back) { + var FILE = "smartbatt.settings.json"; + // Load settings + var settings = Object.assign({ + //Record Interval stored in ms + doLogging:false + }, require('Storage').readJSON(FILE, true) || {}); + + function writeSettings() { + require('Storage').writeJSON(FILE, settings); + } + + // Show the menu + E.showMenu({ + "" : { "title" : "Smart Day Battery" }, + "< Back" : () => back(), + + 'Clear Data': function () { + E.showPrompt("Are you sure you want to delete all learned data?", {title:"Confirm"}) + .then(function(v) { + if (v) { + require("smartbatt").deleteData(); + E.showMessage("Successfully cleared data!","Cleared"); + } else { + eval(require("Storage").read("smartbatt.settings.js"))(()=>load()); + + } + }); + }, + 'Log Battery': { + value: !!settings.doLogging, // !! converts undefined to false + onchange: v => { + settings.doLogging = v; + writeSettings(); + } + // format: ... may be specified as a function which converts the value to a string + // if the value is a boolean, showMenu() will convert this automatically, which + // keeps settings menus consistent + }, + }); +})