Fix issue with evaluating arrow output

pull/1540/head
Stergios Mekras 2022-03-03 23:30:34 +01:00
parent 968707d761
commit bd8c89b538
2 changed files with 28 additions and 41 deletions

View File

@ -27,24 +27,22 @@ const monthName = [
const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
// dynamic variables
let batLevel = -1;
let batColor = [0, 0, 0];
var batLevel = -1;
var batColor = [0, 0, 0];
// settings variables
let dateFormat;
let drawInterval;
let pollInterval;
let showAnalogFace;
let showWeekInfo;
let useVectorFont;
var dateFormat;
var drawInterval;
var pollInterval;
var showAnalogFace;
var showWeekInfo;
var useVectorFont;
// load settings
function loadSettings() {
// Helper function default setting
function def(value, def) {
return value !== undefined ? value : def;
}
let settings = require("Storage").readJSON(SETTINGSFILE, true) || {};
function def(value, def) {return value !== undefined ? value : def;}
var settings = require("Storage").readJSON(SETTINGSFILE, true) || {};
dateFormat = def(settings.dateFormat, "Short");
drawInterval = def(settings.drawInterval, 10);
@ -99,7 +97,7 @@ function draw() {
g.drawImage(background);
const color = getBatteryColor(batLevel);
let bat = "";
var bat = "";
const d = new Date();
const day = d.getDate();
const month = d.getMonth() + 1;
@ -152,7 +150,7 @@ pollBattery();
draw();
var batInterval = setInterval(pollBattery, 60000);
let actualDrawInterval = setInterval(draw, drawInterval * 1000);
var actualDrawInterval = setInterval(draw, drawInterval * 1000);
// Stop updates when LCD is off, restart when on
Bangle.on("lcdPower", (on) => {

View File

@ -3,36 +3,31 @@
// helper functions taken from Anton Clock
(function (back) {
const FILE = "smclock.json";
var FILE = "smclock.json";
// load settings from the file
// assign default values if it doesn't exist
let settings = Object.assign(
{
var settings = Object.assign({
dateFormat: "Short",
drawInterval: 10,
pollInterval: 60,
showAnalogFace: false,
showWeekInfo: false,
useVectorFont: false,
},
require("Storage").readJSON(FILE, true) || {}
);
}, require("Storage").readJSON(FILE, true) || {});
// write the new settings to the file
function writeSettings() {
require("Storage").writeJSON(FILE, settings);
}
function writeSettings() {require("Storage").writeJSON(FILE, settings);}
// helper method which uses int-based menu item for set of string values
function stringItems(startvalue, writer, values) {
return {
value: startvalue === undefined ? 0 : values.indexOf(startvalue),
format: (v) => values[v],
format: v => values[v],
min: 0,
max: values.length - 1,
wrap: true,
step: 1,
onchange: (v) => {
onchange: v => {
writer(values[v]);
writeSettings();
},
@ -46,15 +41,13 @@
// settings menu
var mainmenu = {
"": {
title: "Monogram Clock",
},
"": {title: "Monogram Clock",},
"< Back": () => back(),
"Analog Face": {
value:
settings.showAnalogFace !== undefined ? settings.showAnalogFace : false,
format: (v) => (v ? "On" : "Off"),
onchange: (v) => {
format: v => v ? "On" : "Off",
onchange: v => {
if (v == "On") {
settings.showAnalogFace = true;
} else {
@ -66,14 +59,14 @@
Date: stringInSettings("dateFormat", ["Long", "Short"]),
"Draw Interval": {
value: settings.drawInterval,
onchange: (v) => {
onchange: v => {
settings.drawInterval = v;
writeSettings();
},
},
"Poll Interval": {
value: settings.pollInterval,
onchange: (v) => {
onchange: v => {
settings.pollInterval = v;
writeSettings();
},
@ -81,8 +74,8 @@
"Week Info": {
value:
settings.showWeekInfo !== undefined ? settings.showWeekInfo : false,
format: (v) => (v ? "On" : "Off"),
onchange: (v) => {
format: v => v ? "On" : "Off",
onchange: v => {
if (v == "On") {
settings.showWeekInfo = true;
} else {
@ -94,13 +87,9 @@
"Vector Font": {
value:
settings.useVectorFont !== undefined ? settings.useVectorFont : false,
format: (v) => (v ? "On" : "Off"),
onchange: (v) => {
if (v == "On") {
settings.useVectorFont = true;
} else {
settings.useVectorFont = false;
}
format: v => v ? "On" : "Off",
onchange: v => {
settings.useVectorFont = v;
writeSettings();
},
},