2021-12-16 07:06:53 +00:00
|
|
|
(function(back) {
|
|
|
|
const SETTINGS_FILE = "circlesclock.json";
|
|
|
|
const storage = require('Storage');
|
|
|
|
let settings = storage.readJSON(SETTINGS_FILE, 1) || {};
|
|
|
|
function save(key, value) {
|
|
|
|
settings[key] = value;
|
|
|
|
storage.write(SETTINGS_FILE, settings);
|
|
|
|
}
|
2022-01-14 13:46:59 +00:00
|
|
|
|
2022-01-14 14:43:17 +00:00
|
|
|
const valuesCircleTypes = ["steps", "stepsDist", "hr", "battery", "weather", "empty"];
|
|
|
|
const namesCircleTypes = ["steps", "distance", "heart", "battery", "weather", "empty"];
|
|
|
|
|
|
|
|
const weatherData = ["humidity", "wind", "empty"];
|
|
|
|
|
2021-12-16 07:06:53 +00:00
|
|
|
E.showMenu({
|
|
|
|
'': { 'title': 'circlesclock' },
|
2022-01-05 18:28:32 +00:00
|
|
|
'< Back': back,
|
2022-01-05 11:16:14 +00:00
|
|
|
'min heartrate': {
|
|
|
|
value: "minHR" in settings ? settings.minHR : 40,
|
|
|
|
min: 0,
|
|
|
|
max : 250,
|
2022-01-07 09:32:39 +00:00
|
|
|
step: 5,
|
2022-01-05 11:16:14 +00:00
|
|
|
format: x => {
|
|
|
|
return x;
|
|
|
|
},
|
|
|
|
onchange: x => save('minHR', x),
|
|
|
|
},
|
2021-12-16 07:06:53 +00:00
|
|
|
'max heartrate': {
|
|
|
|
value: "maxHR" in settings ? settings.maxHR : 200,
|
|
|
|
min: 20,
|
|
|
|
max : 250,
|
2022-01-07 09:32:39 +00:00
|
|
|
step: 5,
|
2021-12-16 07:06:53 +00:00
|
|
|
format: x => {
|
|
|
|
return x;
|
|
|
|
},
|
|
|
|
onchange: x => save('maxHR', x),
|
|
|
|
},
|
|
|
|
'step goal': {
|
|
|
|
value: "stepGoal" in settings ? settings.stepGoal : 10000,
|
|
|
|
min: 2000,
|
|
|
|
max : 50000,
|
|
|
|
step: 2000,
|
|
|
|
format: x => {
|
|
|
|
return x;
|
|
|
|
},
|
|
|
|
onchange: x => save('stepGoal', x),
|
|
|
|
},
|
2022-01-05 13:14:47 +00:00
|
|
|
'step length': {
|
|
|
|
value: "stepLength" in settings ? settings.stepLength : 0.8,
|
|
|
|
min: 0.1,
|
|
|
|
max : 1.5,
|
|
|
|
step: 0.01,
|
|
|
|
format: x => {
|
|
|
|
return x;
|
|
|
|
},
|
|
|
|
onchange: x => save('stepLength', x),
|
|
|
|
},
|
|
|
|
'step dist goal': {
|
|
|
|
value: "stepDistanceGoal" in settings ? settings.stepDistanceGoal : 8000,
|
|
|
|
min: 2000,
|
|
|
|
max : 30000,
|
|
|
|
step: 1000,
|
|
|
|
format: x => {
|
|
|
|
return x;
|
|
|
|
},
|
|
|
|
onchange: x => save('stepDistanceGoal', x),
|
|
|
|
},
|
2022-01-05 13:04:04 +00:00
|
|
|
'battery warn': {
|
2021-12-16 16:26:52 +00:00
|
|
|
value: "batteryWarn" in settings ? settings.batteryWarn : 30,
|
|
|
|
min: 10,
|
|
|
|
max : 100,
|
|
|
|
step: 10,
|
|
|
|
format: x => {
|
|
|
|
return x + '%';
|
|
|
|
},
|
|
|
|
onchange: x => save('batteryWarn', x),
|
|
|
|
},
|
2022-01-05 11:16:14 +00:00
|
|
|
'show widgets': {
|
|
|
|
value: "showWidgets" in settings ? settings.showWidgets : false,
|
|
|
|
format: () => (settings.showWidgets ? 'Yes' : 'No'),
|
2022-01-05 13:14:47 +00:00
|
|
|
onchange: x => save('showWidgets', x),
|
2022-01-05 11:16:14 +00:00
|
|
|
},
|
2022-01-14 14:43:17 +00:00
|
|
|
'weather circle': {
|
|
|
|
value: settings.weatherCircleData ? weatherData.indexOf(settings.weatherCircleData) : 0,
|
|
|
|
min: 0, max: 2,
|
|
|
|
format: v => weatherData[v],
|
|
|
|
onchange: x => save('weatherCircleData', weatherData[x]),
|
|
|
|
},
|
2022-01-05 13:04:04 +00:00
|
|
|
'left': {
|
2022-01-05 18:28:32 +00:00
|
|
|
value: settings.circle1 ? valuesCircleTypes.indexOf(settings.circle1) : 0,
|
2022-01-14 13:46:59 +00:00
|
|
|
min: 0, max: 5,
|
2022-01-05 12:27:50 +00:00
|
|
|
format: v => namesCircleTypes[v],
|
2022-01-05 13:30:02 +00:00
|
|
|
onchange: x => save('circle1', valuesCircleTypes[x]),
|
2022-01-05 12:27:50 +00:00
|
|
|
},
|
2022-01-05 13:04:04 +00:00
|
|
|
'middle': {
|
2022-01-05 18:28:32 +00:00
|
|
|
value: settings.circle2 ? valuesCircleTypes.indexOf(settings.circle2) : 2,
|
2022-01-14 13:46:59 +00:00
|
|
|
min: 0, max: 5,
|
2022-01-05 12:27:50 +00:00
|
|
|
format: v => namesCircleTypes[v],
|
2022-01-05 13:30:02 +00:00
|
|
|
onchange: x => save('circle2', valuesCircleTypes[x]),
|
2022-01-05 12:27:50 +00:00
|
|
|
},
|
2022-01-05 13:04:04 +00:00
|
|
|
'right': {
|
2022-01-05 18:28:32 +00:00
|
|
|
value: settings.circle3 ? valuesCircleTypes.indexOf(settings.circle3) : 3,
|
2022-01-14 13:46:59 +00:00
|
|
|
min: 0, max: 5,
|
2022-01-05 12:27:50 +00:00
|
|
|
format: v => namesCircleTypes[v],
|
2022-01-05 13:30:02 +00:00
|
|
|
onchange: x => save('circle3', valuesCircleTypes[x]),
|
2022-01-05 18:28:32 +00:00
|
|
|
}
|
2021-12-16 07:06:53 +00:00
|
|
|
});
|
|
|
|
});
|