1
0
Fork 0
BangleApps/apps/fuzzyw/fuzzyw.settings.js

47 lines
1.3 KiB
JavaScript
Raw Normal View History

2022-03-31 11:48:13 +00:00
(function(back) {
2022-04-04 12:12:48 +00:00
const SETTINGS_FILE = "fuzzyw.settings.json";
2022-03-31 11:48:13 +00:00
var align_options = ['Left','Centre','Right'];
2022-03-31 12:28:05 +00:00
var language_options = ['System', 'en_GB', 'en_US', 'es_ES', 'fr_FR', 'no_NO', 'sv_SE', 'de_DE'];
2022-03-31 09:26:38 +00:00
2022-03-31 11:48:13 +00:00
// initialize with default settings...
2022-04-04 12:31:29 +00:00
let s = {'language': 'System', 'alignment': 'Centre'};
2022-03-31 11:48:13 +00:00
// ...and overwrite them with any saved values
// This way saved values are preserved if a new version adds more settings
const storage = require('Storage')
let settings = storage.readJSON(SETTINGS_FILE, 1) || s;
const saved = settings || {}
for (const key in saved) {
s[key] = saved[key]
}
function save() {
settings = s
storage.write(SETTINGS_FILE, settings)
}
E.showMenu({
2022-04-04 11:52:02 +00:00
'': { 'title': 'Fuzzy Text Clock' },
2022-03-31 11:48:13 +00:00
'< Back': back,
'Language': {
value: 0 | language_options.indexOf(s.theme),
min: 0, max: language_options.length - 1,
format: v => language_options[v],
onchange: v => {
2022-04-04 11:51:28 +00:00
s.language = language_options[v];
2022-03-31 11:48:13 +00:00
save();
}
},
2022-03-31 11:51:43 +00:00
'Alignment': {
2022-03-31 11:48:13 +00:00
value: 0 | align_options.indexOf(s.theme),
min: 0, max: align_options.length - 1,
format: v => align_options[v],
onchange: v => {
2022-04-04 11:51:28 +00:00
s.alignment = align_options[v];
2022-03-31 11:48:13 +00:00
save();
}
},
});
})