2023-04-08 07:25:27 +00:00
|
|
|
((back: () => void) => {
|
|
|
|
const SETTINGS_FILE = "drained.setting.json";
|
|
|
|
|
|
|
|
const storage = require("Storage")
|
|
|
|
const settings = storage.readJSON(SETTINGS_FILE, true) || {};
|
|
|
|
settings.battery ??= 5;
|
|
|
|
settings.interval ??= 10;
|
|
|
|
|
|
|
|
const save = () => {
|
|
|
|
storage.writeJSON(SETTINGS_FILE, settings)
|
|
|
|
};
|
|
|
|
|
|
|
|
E.showMenu({
|
|
|
|
"": { "title": "Drained" },
|
|
|
|
"< Back": back,
|
2023-04-11 17:25:11 +00:00
|
|
|
"Trigger at batt%": {
|
2023-04-08 07:25:27 +00:00
|
|
|
value: settings.battery,
|
|
|
|
min: 0,
|
|
|
|
max: 95,
|
|
|
|
step: 5,
|
2023-04-11 17:25:11 +00:00
|
|
|
format: (v: number) => `${v}%`,
|
2023-04-08 07:25:27 +00:00
|
|
|
onchange: (v: number) => {
|
|
|
|
settings.battery = v;
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
},
|
2023-04-11 17:25:11 +00:00
|
|
|
"Poll interval": {
|
2023-04-08 07:25:27 +00:00
|
|
|
value: settings.interval,
|
|
|
|
min: 1,
|
|
|
|
max: 60 * 2,
|
|
|
|
step: 5,
|
2023-04-11 17:25:11 +00:00
|
|
|
format: (v: number) => `${v} mins`,
|
2023-04-08 07:25:27 +00:00
|
|
|
onchange: (v: number) => {
|
|
|
|
settings.interval = v;
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
})
|