BangleApps/apps/terminalclock/settings.js

95 lines
2.2 KiB
JavaScript

(function(back) {
var FILE = "terminalclock.json";
// Load settings
var settings = Object.assign({
HRMinConfidence: 50,
showDate: true,
showAltitude: process.env.HWVERSION != 1 ? true : false,
showHRM: true,
showActivity: true,
showStepCount: true,
powerSaving: true,
PowerOnInterval: 15,
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
// Show the menu
var menu = {
"" : { "title" : "Terminal Clock" },
"< Back" : () => back(),
'HR confidence': {
value: settings.HRMinConfidence,
min: 0, max: 100,
onchange: v => {
settings.HRMinConfidence = v;
writeSettings();
}
},
'Show date': {
value: settings.showDate,
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();
}
},
'Show HRM': {
value: settings.showHRM,
format: v => v?"Yes":"No",
onchange: v => {
settings.showHRM = v;
writeSettings();
}
},
'Show Activity': {
value: settings.showActivity,
format: v => v?"Yes":"No",
onchange: v => {
settings.showActivity = v;
writeSettings();
}
},
'Show Steps': {
value: settings.showStepCount,
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";
}
}
}
if (process.env.HWVERSION == 1) {
delete menu['Show Altitude']
}
E.showMenu(menu);
})