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);
|
|
|
|
}
|
2023-12-03 19:45:28 +00:00
|
|
|
|
|
|
|
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();
|
2023-12-03 19:45:28 +00:00
|
|
|
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();
|
2022-04-25 14:11:01 +00:00
|
|
|
})
|