From 242fd83aa0913ae635e5087e60a2308f4c8b0e6e Mon Sep 17 00:00:00 2001 From: Giles Booth Date: Fri, 19 Aug 2022 08:17:40 +0100 Subject: [PATCH] Create settings.js --- apps/suw/settings.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 apps/suw/settings.js diff --git a/apps/suw/settings.js b/apps/suw/settings.js new file mode 100644 index 000000000..6c4694e70 --- /dev/null +++ b/apps/suw/settings.js @@ -0,0 +1,42 @@ +(function(back) { + var FILE = "suw.json"; + // Load settings + var settings = Object.assign({ + nextTideHour: 11, + nextTideMin: 01, + nextTideType: "low ", + }, require('Storage').readJSON(FILE, true) || {}); + + function writeSettings() { + require('Storage').writeJSON(FILE, settings); + } + + // Show the menu + E.showMenu({ + "" : { "title" : "Seaside Watch" }, + "< Back" : () => back(), + 'High or low?': { + value: !!settings.nextTideType, // !! converts undefined to false + format: v => v?"high":"low ", + onchange: v => { + settings.nextTideType = v; + writeSettings(); + } + }, + 'Hour?': { + value: 0|settings.nextTideHour, // 0| converts undefined to 0 + min: 0, max: 23, + onchange: v => { + settings.nextTideHour = v; + writeSettings(); + }, + 'Minutes?': { + value: 0|settings.nextTideMin, // 0| converts undefined to 0 + min: 0, max: 59, + onchange: v => { + settings.nextTideMin = v; + writeSettings(); + } + }, + }); +})