1
0
Fork 0
BangleApps/apps/health/settings.js

93 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-04-25 12:27:24 +00:00
(function (back) {
var settings = Object.assign({
hrm: 0,
2023-01-03 11:41:05 +00:00
stepGoal: 10000,
stepGoalNotification: false
2022-04-25 12:27:24 +00:00
}, require("Storage").readJSON("health.json", true) || {});
2023-01-07 17:14:58 +00:00
function setSettings() {
require("Storage").writeJSON("health.json", settings);
}
function settingsMenu() {
E.showMenu({
"": { title: /*LANG*/"Health Tracking" },
/*LANG*/"< Back": () => back(),
/*LANG*/"HRM Interval": {
value: settings.hrm,
min: 0,
max: 3,
format: v => [
/*LANG*/"Off",
/*LANG*/"3 min",
/*LANG*/"10 min",
/*LANG*/"Always"
][v],
onchange: v => {
settings.hrm = v;
setSettings();
}
},
/*LANG*/"Daily Step Goal": {
value: settings.stepGoal,
min: 0,
max: 20000,
step: 250,
onchange: v => {
settings.stepGoal = v;
setSettings();
}
},
/*LANG*/"Step Goal Notification": {
value: "stepGoalNotification" in settings ? settings.stepGoalNotification : false,
format: () => (settings.stepGoalNotification ? 'Yes' : 'No'),
onchange: () => {
settings.stepGoalNotification = !settings.stepGoalNotification;
setSettings();
}
},
/*LANG*/"Stride length": () => strideLengthMenu()
});
}
function strideLengthMenu() {
const menu = {
"" : { title : /*LANG*/"Stride length" },
"< Back" : () => {
2023-01-03 11:41:05 +00:00
setSettings();
settingsMenu();
},
"x 0.01" : {
value : settings.strideLength === undefined ? 0 : settings.strideLength,
min:0,
step:0.01,
format: v => require("locale").distance(v, 2),
onchange : v => {
settings.strideLength=v;
menu["x 0.1"].value = v;
},
},
"x 0.1" : {
value : settings.strideLength === undefined ? 0 : settings.strideLength,
min:0,
step:0.1,
format: v => require("locale").distance(v, 2),
onchange : v => {
settings.strideLength=v;
menu["x 0.01"].value = v;
},
},
};
E.showMenu(menu);
}
settingsMenu();
})