37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
let settings;
|
|
|
|
function loadSettings() {
|
|
settings = require('Storage').readJSON("health.json", 1) || {};
|
|
if( settings.stepGoal === undefined ) {
|
|
settings.stepGoal = 10000;
|
|
}
|
|
}
|
|
|
|
Bangle.on('step', function(s) { WIDGETS["widstep"].draw(); });
|
|
Bangle.on('lcdPower', function(on) {
|
|
if (on) WIDGETS["widstep"].draw();
|
|
});
|
|
WIDGETS["widstep"]={area:"tl", sortorder:-1, width:28,
|
|
draw:function() {
|
|
if (!Bangle.isLCDOn()) return; // dont redraw if LCD is off
|
|
//var steps = Bangle.getHealthStatus("day").steps;
|
|
var steps = 5285;
|
|
g.reset();
|
|
g.setColor(g.theme.bg);
|
|
g.fillRect(this.x, this.y, this.x + this.width, this.y + 23);
|
|
g.setColor(g.theme.dark ? '#00f' : '#0ff');
|
|
var progress = this.width * Math.min(steps/settings.stepGoal, 1);
|
|
g.fillRect(this.x+1, this.y+1, this.x + progress -1, this.y + 23);
|
|
g.setColor(g.theme.fg);
|
|
g.setFontAlign(0, -1);
|
|
var steps_k = (steps/1000).toFixed(1) + 'k';
|
|
g.setFont('6x15').drawString(steps_k, this.x+this.width/2, this.y + 10);
|
|
g.setFont('4x6').drawString('steps', this.x+this.width/2, this.y + 2);
|
|
//g.drawRect(this.x, this.y, this.x + this.width, this.y + 23);
|
|
}, reload:function() {
|
|
loadSettings();
|
|
WIDGETS["widstep"].draw();
|
|
}
|
|
};
|
|
loadSettings();
|