BangleApps/apps/barclock/settings.js

36 lines
1008 B
JavaScript

(function(back) {
let s = require("Storage").readJSON("barclock.settings.json", true) || {};
// migrate "don't load widgets" to "hide widgets"
if (!("hideWidgets" in s) && ("loadWidgets" in s) && !s.loadWidgets) {
s.hideWidgets = 1;
}
delete s.loadWidgets;
function save(key, value) {
s[key] = value;
require("Storage").writeJSON("barclock.settings.json", s);
}
const fonts = [/*LANG*/"Bitmap",/*LANG*/"Vector"];
let menu = {
"": {"title": /*LANG*/"Bar Clock"},
/*LANG*/"< Back": back,
/*LANG*/"Font": {
value: s.font|0,
min: 0, max: 1, wrap: true,
format: v => fonts[v],
onchange: v => save("font", v),
},
};
let items = {
showDate: s.showDate,
hideWidgets: s.hideWidgets,
};
// Power saving for Bangle.js 1 doesn't make sense (no updates while screen is off anyway)
if (process.env.HWVERSION>1) {
items.powerSave = s.powerSave;
}
require("ClockFace_menu").addItems(menu, save, items);
E.showMenu(menu);
})