[Nifty-B Clock] Improve settings page
parent
58f9461dac
commit
adf7c75365
|
|
@ -1,49 +1,31 @@
|
||||||
(function (back) {
|
(function (back) {
|
||||||
const storage = require('Storage');
|
const settings = Object.assign({ color: 63488 }, require("Storage").readJSON("ffcniftyb.json", true));
|
||||||
const SETTINGS_FILE = "ffcniftyb.json";
|
|
||||||
|
|
||||||
const colors = {
|
const colors = {
|
||||||
65535: 'White',
|
65535: /*LANG*/"White",
|
||||||
63488: 'Red',
|
63488: /*LANG*/"Red",
|
||||||
65504: 'Yellow',
|
65504: /*LANG*/"Yellow",
|
||||||
2047: 'Cyan',
|
2047: /*LANG*/"Cyan",
|
||||||
2016: 'Green',
|
2016: /*LANG*/"Green",
|
||||||
31: 'Blue',
|
31: /*LANG*/"Blue",
|
||||||
0: 'Black',
|
0: /*LANG*/"Black"
|
||||||
}
|
}
|
||||||
|
|
||||||
function load(settings) {
|
const menu = {};
|
||||||
return Object.assign(settings, storage.readJSON(SETTINGS_FILE, 1) || {});
|
menu[""] = { title: "Nifty-B Clock" };
|
||||||
}
|
menu["< Back"] = back;
|
||||||
|
|
||||||
function save(settings) {
|
Object.keys(colors).forEach(color => {
|
||||||
storage.write(SETTINGS_FILE, settings)
|
var label = colors[color];
|
||||||
}
|
menu[label] = {
|
||||||
|
value: settings.color == color,
|
||||||
const settings = load({
|
onchange: () => {
|
||||||
color: 63488 /* red */,
|
settings.color = color;
|
||||||
|
require("Storage").write("ffcniftyb.json", settings);
|
||||||
|
setTimeout(load, 10);
|
||||||
|
}
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const saveColor = (color) => () => {
|
E.showMenu(menu);
|
||||||
settings.color = color;
|
|
||||||
save(settings);
|
|
||||||
back();
|
|
||||||
};
|
|
||||||
|
|
||||||
function showMenu(items, opt) {
|
|
||||||
items[''] = opt || {};
|
|
||||||
items['< Back'] = back;
|
|
||||||
E.showMenu(items);
|
|
||||||
}
|
|
||||||
|
|
||||||
showMenu(
|
|
||||||
Object.keys(colors).reduce((menu, color) => {
|
|
||||||
menu[colors[color]] = saveColor(color);
|
|
||||||
return menu;
|
|
||||||
}, {}),
|
|
||||||
{
|
|
||||||
title: 'Color',
|
|
||||||
selected: Object.keys(colors).indexOf(settings.color)
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue