diff --git a/apps/shadowclk/settings.js b/apps/shadowclk/settings.js index a3f9c55dc..a7b10db6d 100644 --- a/apps/shadowclk/settings.js +++ b/apps/shadowclk/settings.js @@ -1,4 +1,4 @@ -(function (back) { +(function(back) { let teletextColors = ["#000", "#f00", "#0f0", "#ff0", "#00f", "#f0f", "#0ff", "#fff"]; let teletextColorNames = ["Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White"]; @@ -6,32 +6,44 @@ let appSettings = Object.assign({ color: teletextColors[6], theme: 'light', - }, require('Storage').readJSON(shadowclk.json, true) || {}); + }, require('Storage').readJSON("shadowclk.json", true) || {}); // Save settings to storage function writeSettings() { - require('Storage').writeJSON(shadowclk.json, appSettings); + require('Storage').writeJSON("shadowclk.json", appSettings); } - + // Colors from 'Light BW' and 'Dark BW' themes function createThemeColors(mode) { const cl = x => g.setColor(x).getColor(); return mode ? { - fg: cl("#fff"), bg: cl("#000"), fg2: cl("#fff"), bg2: cl("#004"), fgH: cl("#fff"), bgH: cl("#00f"), dark: true + fg: cl("#fff"), + bg: cl("#000"), + fg2: cl("#fff"), + bg2: cl("#004"), + fgH: cl("#fff"), + bgH: cl("#00f"), + dark: true } : { - fg: cl("#000"), bg: cl("#fff"), fg2: cl("#000"), bg2: cl("#cff"), fgH: cl("#000"), bgH: cl("#0ff"), dark: false + fg: cl("#000"), + bg: cl("#fff"), + fg2: cl("#000"), + bg2: cl("#cff"), + fgH: cl("#000"), + bgH: cl("#0ff"), + dark: false }; } // Switch theme and save to storage function switchTheme(mode) { if (mode === g.theme.dark) return; - let s = require("Storage").readJSON(setting.json, 1) || {}; + let s = require('Storage').readJSON("setting.json", 1) || {}; s.theme = createThemeColors(mode); - require("Storage").writeJSON(setting.json, s); + require('Storage').writeJSON("setting.json", s); updateTheme(mode); } - + // Update the current menu with the new theme function updateTheme(mode) { let newTheme = createThemeColors(mode); @@ -40,8 +52,13 @@ writeSettings(); delete g.reset; g._reset = g.reset; - g.reset = function (n) { return g._reset().setColor(newTheme.fg).setBgColor(newTheme.bg); }; - g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); }; + g.reset = function(n) { + return g._reset().setColor(newTheme.fg).setBgColor(newTheme.bg); + }; + g.clear = function(n) { + if (n) g.reset(); + return g.clearRect(0, 0, g.getWidth(), g.getHeight()); + }; g.clear(1); Bangle.drawWidgets(); showMenu(); @@ -49,14 +66,16 @@ // Read the current system theme function getCurrentTheme() { - let s = require("Storage").readJSON(setting.json, 1) || {}; + let s = require('Storage').readJSON("setting.json", 1) || {}; return s.theme.dark ? 'dark' : 'light'; } function showMenu() { appSettings.theme = getCurrentTheme(); E.showMenu({ - "": { "title": "Shadow Clock" }, + "": { + "title": "Shadow Clock" + }, "< Back": () => back(), 'Theme:': { value: (appSettings.theme === 'dark'),