[Scheduler] Add Settings page

pull/1707/head
Alessandro Cocco 2022-04-20 14:13:33 +02:00
parent b0a43413c8
commit a84c1d4f77
2 changed files with 82 additions and 1 deletions

View File

@ -8,8 +8,17 @@ Other apps can use this to provide alarm functionality.
App
---
The Alarm app allows you to add/modify any running timers.
The **Alarms & Timers** app allows you to add/modify any running alarms and timers.
Global Settings
---------------
- `Unlock at Buzz` - If `Yes` the alarm/timer will unlock the watch
- `Default Auto Snooze` - Default _Auto Snooze_ value for newly created alarms (_Alarms_ only)
- `Default Snooze` - Default _Snooze_ value for newly created alarms/timers
- `Buzz Count` - The number of buzzes before the watch goes silent
- `Buzz Interval` - The interval between one buzz and the next
- `Default Alarm/Timer Pattern` - Default vibration pattern for newly created alarms/timers
Internals / Library
-------------------

72
apps/sched/settings.js Normal file
View File

@ -0,0 +1,72 @@
(function (back) {
let settings = require("sched").getSettings();
E.showMenu({
"": { "title": /*LANG*/"Scheduler" },
/*LANG*/"< Back": () => back(),
/*LANG*/"Unlock at Buzz": {
value: settings.unlockAtBuzz,
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
onchange: v => {
settings.unlockAtBuzz = v;
require("sched").setSettings(settings);
}
},
/*LANG*/"Default Auto Snooze": {
value: settings.defaultAutoSnooze,
format: v => v ? /*LANG*/"Yes" : /*LANG*/"No",
onchange: v => {
settings.defaultAutoSnooze = v;
require("sched").setSettings(settings);
}
},
/*LANG*/"Default Snooze": {
value: settings.defaultSnoozeMillis / 60000,
min: 5,
max: 30,
step: 5,
format: v => v + /*LANG*/" min",
onchange: v => {
settings.defaultSnoozeMillis = v * 60000;
require("sched").setSettings(settings);
}
},
/*LANG*/"Buzz Count": {
value: settings.buzzCount,
min: 5,
max: 15,
step: 1,
onchange: v => {
settings.buzzCount = v;
require("sched").setSettings(settings);
}
},
/*LANG*/"Buzz Interval": {
value: settings.buzzIntervalMillis / 1000,
min: 1,
max: 5,
step: 1,
format: v => v + /*LANG*/"s",
onchange: v => {
settings.buzzIntervalMillis = v * 1000;
require("sched").setSettings(settings);
}
},
/*LANG*/"Default Alarm Pattern": require("buzz_menu").pattern(settings.defaultAlarmPattern, v => {
settings.defaultAlarmPattern = v;
require("sched").setSettings(settings);
}),
/*LANG*/"Default Timer Pattern": require("buzz_menu").pattern(settings.defaultTimerPattern, v => {
settings.defaultTimerPattern = v;
require("sched").setSettings(settings);
})
});
});