forked from FOSS/BangleApps
parent
bfeaa5219f
commit
9a2873fb63
|
@ -6,29 +6,41 @@
|
||||||
let appSettings = Object.assign({
|
let appSettings = Object.assign({
|
||||||
color: teletextColors[6],
|
color: teletextColors[6],
|
||||||
theme: 'light',
|
theme: 'light',
|
||||||
}, require('Storage').readJSON(shadowclk.json, true) || {});
|
}, require('Storage').readJSON("shadowclk.json", true) || {});
|
||||||
|
|
||||||
// Save settings to storage
|
// Save settings to storage
|
||||||
function writeSettings() {
|
function writeSettings() {
|
||||||
require('Storage').writeJSON(shadowclk.json, appSettings);
|
require('Storage').writeJSON("shadowclk.json", appSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Colors from 'Light BW' and 'Dark BW' themes
|
// Colors from 'Light BW' and 'Dark BW' themes
|
||||||
function createThemeColors(mode) {
|
function createThemeColors(mode) {
|
||||||
const cl = x => g.setColor(x).getColor();
|
const cl = x => g.setColor(x).getColor();
|
||||||
return mode ? {
|
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
|
// Switch theme and save to storage
|
||||||
function switchTheme(mode) {
|
function switchTheme(mode) {
|
||||||
if (mode === g.theme.dark) return;
|
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);
|
s.theme = createThemeColors(mode);
|
||||||
require("Storage").writeJSON(setting.json, s);
|
require('Storage').writeJSON("setting.json", s);
|
||||||
updateTheme(mode);
|
updateTheme(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,8 +52,13 @@
|
||||||
writeSettings();
|
writeSettings();
|
||||||
delete g.reset;
|
delete g.reset;
|
||||||
g._reset = g.reset;
|
g._reset = g.reset;
|
||||||
g.reset = function (n) { return g._reset().setColor(newTheme.fg).setBgColor(newTheme.bg); };
|
g.reset = function(n) {
|
||||||
g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); };
|
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);
|
g.clear(1);
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
showMenu();
|
showMenu();
|
||||||
|
@ -49,14 +66,16 @@
|
||||||
|
|
||||||
// Read the current system theme
|
// Read the current system theme
|
||||||
function getCurrentTheme() {
|
function getCurrentTheme() {
|
||||||
let s = require("Storage").readJSON(setting.json, 1) || {};
|
let s = require('Storage').readJSON("setting.json", 1) || {};
|
||||||
return s.theme.dark ? 'dark' : 'light';
|
return s.theme.dark ? 'dark' : 'light';
|
||||||
}
|
}
|
||||||
|
|
||||||
function showMenu() {
|
function showMenu() {
|
||||||
appSettings.theme = getCurrentTheme();
|
appSettings.theme = getCurrentTheme();
|
||||||
E.showMenu({
|
E.showMenu({
|
||||||
"": { "title": "Shadow Clock" },
|
"": {
|
||||||
|
"title": "Shadow Clock"
|
||||||
|
},
|
||||||
"< Back": () => back(),
|
"< Back": () => back(),
|
||||||
'Theme:': {
|
'Theme:': {
|
||||||
value: (appSettings.theme === 'dark'),
|
value: (appSettings.theme === 'dark'),
|
||||||
|
|
Loading…
Reference in New Issue