BangleApps/apps/terminalclock/settings.js

95 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-02-13 15:07:23 +00:00
(function(back) {
var FILE = "terminalclock.json";
2022-02-13 15:07:23 +00:00
// Load settings
var settings = Object.assign({
2022-02-15 17:34:43 +00:00
HRMinConfidence: 50,
2022-02-18 15:40:33 +00:00
showDate: true,
showAltitude: process.env.HWVERSION != 1 ? true : false,
2022-02-18 15:40:33 +00:00
showHRM: true,
showActivity: true,
showStepCount: true,
powerSaving: true,
PowerOnInterval: 15,
2022-02-13 15:07:23 +00:00
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
// Show the menu
var menu = {
2022-02-13 15:07:23 +00:00
"" : { "title" : "Terminal Clock" },
"< Back" : () => back(),
'HR confidence': {
2022-04-24 17:42:35 +00:00
value: settings.HRMinConfidence,
2022-02-13 15:07:23 +00:00
min: 0, max: 100,
onchange: v => {
settings.HRMinConfidence = v;
writeSettings();
}
},
'Show date': {
2022-04-24 17:42:35 +00:00
value: settings.showDate,
2022-02-13 15:07:23 +00:00
format: v => v?"Yes":"No",
onchange: v => {
settings.showDate = v;
writeSettings();
}
},
'Show Altitude': {
value: settings.showAltitude,
format: v => v?"Yes":"No",
onchange: v => {
settings.showAltitude = v;
writeSettings();
}
},
2022-02-13 15:07:23 +00:00
'Show HRM': {
2022-04-24 17:42:35 +00:00
value: settings.showHRM,
2022-02-13 15:07:23 +00:00
format: v => v?"Yes":"No",
onchange: v => {
settings.showHRM = v;
writeSettings();
}
},
'Show Activity': {
2022-04-24 17:42:35 +00:00
value: settings.showActivity,
2022-02-13 15:07:23 +00:00
format: v => v?"Yes":"No",
onchange: v => {
settings.showActivity = v;
writeSettings();
}
},
'Show Steps': {
2022-04-24 17:42:35 +00:00
value: settings.showStepCount,
2022-02-13 15:07:23 +00:00
format: v => v?"Yes":"No",
onchange: v => {
settings.showStepCount = v;
writeSettings();
}
},
'Power saving': {
value: settings.powerSaving,
format: v => v?"On":"Off",
onchange: v => {
settings.powerSaving = v;
writeSettings();
}
},
'Power on interval': {
value: settings.PowerOnInterval,
min: 3, max: 60,
onchange: v => {
settings.PowerOnInterval = v;
writeSettings();
},
format: x => {
return x + " min";
}
2022-02-13 15:07:23 +00:00
}
}
if (process.env.HWVERSION == 1) {
delete menu['Show Altitude']
}
E.showMenu(menu);
})