BangleApps/apps/nesclock/settings.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

2023-03-25 21:31:16 +00:00
(function(back) {
var FILE = "nesclock.json";
var settings = Object.assign({
currentFace: "Mario 3",
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
2023-03-25 21:46:41 +00:00
// Helper method which uses int-based menu item for set of string values
2023-03-25 21:31:16 +00:00
function stringItems(startvalue, writer, values) {
return {
value: (startvalue === undefined ? 0 : values.indexOf(startvalue)),
format: v => values[v],
min: 0,
max: values.length - 1,
wrap: true,
step: 1,
onchange: v => {
writer(values[v]);
writeSettings();
}
};
2023-03-25 21:46:41 +00:00
}
// Helper method which breaks string set settings down to local settings object
2023-03-25 21:31:16 +00:00
function stringInSettings(name, values) {
return stringItems(settings[name], v => settings[name] = v, values);
}
2023-03-25 21:46:41 +00:00
var mainmenu = {
"": {
"title": "NES Clock"
},
"< Back": () => back(),
"Game Theme": stringInSettings("currentFace", ["Mario 3", "Mario 2", "Mario 1", "Kirby", "Zelda"]),
};
E.showMenu(mainmenu);
});