2022-08-22 20:49:10 +00:00
|
|
|
/**
|
|
|
|
* @param {function} back Use back() to return to settings menu
|
|
|
|
*/
|
|
|
|
|
2022-08-24 09:15:18 +00:00
|
|
|
(function (back) {
|
2022-08-22 20:49:10 +00:00
|
|
|
// default to buzzing
|
2022-08-22 21:32:17 +00:00
|
|
|
var FILE = "chimer.json";
|
|
|
|
var settings = {};
|
|
|
|
const chimes = ["Off", "Buzz", "Beep", "Both"];
|
2022-08-23 04:12:48 +00:00
|
|
|
const frequency = ["60 min", "30 min", "15 min", "1 min"];
|
2022-08-22 20:49:10 +00:00
|
|
|
|
2022-08-24 09:15:18 +00:00
|
|
|
var showMainMenu = () => {
|
|
|
|
E.showMenu({
|
|
|
|
"": { title: "Chimer" },
|
|
|
|
"< Back": () => back(),
|
|
|
|
"Chime Type": {
|
|
|
|
value: settings.type,
|
|
|
|
min: 0,
|
|
|
|
max: 2, // both is just silly
|
|
|
|
format: (v) => chimes[v],
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.type = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
2022-08-22 20:49:10 +00:00
|
|
|
},
|
2022-08-24 09:15:18 +00:00
|
|
|
Frequency: {
|
|
|
|
value: settings.freq,
|
|
|
|
min: 0,
|
|
|
|
max: 2,
|
|
|
|
format: (v) => frequency[v],
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.freq = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
Repetition: {
|
|
|
|
value: settings.repeat,
|
|
|
|
min: 1,
|
2022-08-24 10:38:13 +00:00
|
|
|
max: 5,
|
2022-08-24 09:15:18 +00:00
|
|
|
format: (v) => v,
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.repeat = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
|
|
|
},
|
2022-08-25 09:15:59 +00:00
|
|
|
"Sleep Mode": {
|
|
|
|
value: settings.sleep,
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.sleep = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"Sleep Start": {
|
2022-08-24 09:15:18 +00:00
|
|
|
value: settings.start,
|
2022-08-24 09:35:31 +00:00
|
|
|
min: 0,
|
|
|
|
max: 23,
|
2022-08-24 09:15:18 +00:00
|
|
|
format: (v) => v,
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.start = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
|
|
|
},
|
2022-08-25 09:15:59 +00:00
|
|
|
"Sleep End": {
|
2022-08-24 09:15:18 +00:00
|
|
|
value: settings.end,
|
2022-08-24 09:38:26 +00:00
|
|
|
min: 0,
|
|
|
|
max: 23,
|
2022-08-24 09:15:18 +00:00
|
|
|
format: (v) => v,
|
|
|
|
onchange: (v) => {
|
|
|
|
settings.end = v;
|
|
|
|
writeSettings(settings);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
};
|
2022-08-22 20:49:10 +00:00
|
|
|
|
2022-08-22 23:09:32 +00:00
|
|
|
var readSettings = () => {
|
|
|
|
var settings = require("Storage").readJSON(FILE, 1) || {
|
|
|
|
type: 1,
|
|
|
|
freq: 0,
|
2022-08-23 01:04:51 +00:00
|
|
|
repeat: 1,
|
2022-08-25 09:15:59 +00:00
|
|
|
sleep: true,
|
2022-08-23 05:48:45 +00:00
|
|
|
start: 6,
|
|
|
|
end: 22,
|
2022-08-22 23:09:32 +00:00
|
|
|
};
|
|
|
|
return settings;
|
|
|
|
};
|
|
|
|
|
|
|
|
var writeSettings = (settings) => {
|
|
|
|
require("Storage").writeJSON(FILE, settings);
|
|
|
|
};
|
|
|
|
|
|
|
|
settings = readSettings();
|
|
|
|
showMainMenu();
|
2022-08-24 09:15:18 +00:00
|
|
|
});
|