Update widget.js

* Load settings on reload of widget
* Do not draw widget when `hide` is set
pull/1029/head
Marco H 2021-12-08 10:37:02 +01:00 committed by GitHub
parent 8bcedfa552
commit b6b7aa8a46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 18 deletions

View File

@ -1,9 +1,26 @@
(() => {
const weather = require('weather');
var dirty = false;
let settings;
function loadSettings() {
const d = require('Storage').readJSON('weather.json', 1) || {};
settings = d.settings || {};
}
function setting(key) {
if (!settings) { loadSettings(); }
const DEFAULTS = {
'expiry': 2*3600000,
'hide': false
};
return (key in settings) ? settings[key] : DEFAULTS[key];
}
weather.on("update", w => {
if (setting('hide')) return;
if (w) {
if (!WIDGETS["weather"].width) {
WIDGETS["weather"].width = 20;
@ -21,27 +38,11 @@
});
Bangle.on('lcdPower', on => {
if (on && dirty) {
if (on && dirty && !setting('hide')) {
WIDGETS["weather"].draw();
dirty = false;
}
});
let settings;
function loadSettings() {
const d = require('Storage').readJSON('weather.json', 1) || {};
settings = d.settings || {};
}
function setting(key) {
if (!settings) { loadSettings(); }
const DEFAULTS = {
'expiry': 2*3600000,
'hide': false
};
return (key in settings) ? settings[key] : DEFAULTS[key];
}
WIDGETS["weather"] = {
area: "tl",
@ -63,5 +64,9 @@
g.drawString(t, this.x+10, this.y+24);
}
},
reload:function() {
loadSettings();
WIDGETS["weather"].redraw();
},
};
})();