BangleApps/apps/elapsed_t/settings.js

64 lines
1.7 KiB
JavaScript
Raw Normal View History

(function(back) {
var APP_NAME = "elapsed_t";
var FILE = APP_NAME + ".settings.json";
// Load settings
var settings = Object.assign({
// default values
displaySeconds: 1,
displayMonthsYears: true,
dateFormat: 0,
time24: true
}, require('Storage').readJSON(APP_NAME + ".settings.json", true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
if (typeof settings.displaySeconds === 'boolean') {
settings.displaySeconds = 1;
writeSettings();
}
var dateFormats = ["DD/MM/YYYY", "MM/DD/YYYY", "YYYY-MM-DD"];
var displaySecondsFormats = ["Never", "Unlocked", "Always"];
// Show the menu
E.showMenu({
"" : { "title" : "Elapsed Time" },
"< Back" : () => back(),
'Show\nseconds': {
value: settings.displaySeconds,
min: 0, max: 2, wrap: true,
onchange: v => {
settings.displaySeconds = v;
writeSettings();
},
format: function (v) {return displaySecondsFormats[v];}
},
'Show months/\nyears': {
value: !!settings.displayMonthsYears,
onchange: v => {
settings.displayMonthsYears = v;
writeSettings();
}
},
'Time format': {
value: !!settings.time24,
onchange: v => {
settings.time24 = v;
writeSettings();
},
format: function (v) {return v ? "24h" : "AM/PM";}
},
'Date format': {
value: settings.dateFormat,
min: 0, max: 2, wrap: true,
onchange: v => {
settings.dateFormat = v;
writeSettings();
},
format: function (v) {return dateFormats[v];}
}
});
})