mirror of https://github.com/espruino/BangleApps
82 lines
2.8 KiB
JavaScript
82 lines
2.8 KiB
JavaScript
|
(
|
||
|
function(back) {
|
||
|
var FILE = "snepwatch.json";
|
||
|
|
||
|
/* Load settings */
|
||
|
var settings = Object.assign ({
|
||
|
/* Default Values */
|
||
|
outline_r: 1,
|
||
|
outline_g: 0,
|
||
|
outline_b: 0,
|
||
|
fill_r: 0.5,
|
||
|
fill_g: 0,
|
||
|
fill_b: 0,
|
||
|
bg_r: 0,
|
||
|
bg_g: 0,
|
||
|
bg_b: 0,
|
||
|
text: 1
|
||
|
,
|
||
|
}, require ('Storage').readJSON (FILE, true) || {});
|
||
|
|
||
|
function write_settings () {
|
||
|
require ('Storage').writeJSON (FILE, settings);
|
||
|
}
|
||
|
|
||
|
/* Show the menu */
|
||
|
var main_menu = {
|
||
|
"" : { "title": "Snepwatch",
|
||
|
back : function() { back (); }},
|
||
|
"Outline Colour": function () { E.showMenu (outline_menu); },
|
||
|
"Fill Colour": function () { E.showMenu (fill_menu); },
|
||
|
"Background Colour": function () { E.showMenu (background_menu); },
|
||
|
"Text": { value: (settings.text == 1),
|
||
|
format: v => v ? "Light" : "Dark",
|
||
|
onchange: v => { settings.text = v; write_settings (); }},
|
||
|
};
|
||
|
|
||
|
var outline_menu = {
|
||
|
"": { title : "Outline Colour",
|
||
|
back : function() { E.showMenu (main_menu); } },
|
||
|
"Red": { value: settings.outline_r,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.outline_r = v; write_settings (); }},
|
||
|
"Green": { value: settings.outline_g,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.outline_g = v; write_settings (); }},
|
||
|
"Blue": { value: settings.outline_b,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.outline_b = v; write_settings (); }},
|
||
|
};
|
||
|
|
||
|
var fill_menu = {
|
||
|
"" : { title : "Fill Colour",
|
||
|
back : function() { E.showMenu (main_menu); } },
|
||
|
"Red": { value: settings.fill_r,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.fill_r = v; write_settings (); }},
|
||
|
"Green": { value: settings.fill_g,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.fill_g = v; write_settings (); }},
|
||
|
"Blue": { value: settings.fill_b,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.fill_b = v; write_settings (); }},
|
||
|
};
|
||
|
|
||
|
var background_menu = {
|
||
|
"" : { title : "Background Colour",
|
||
|
back : function() { E.showMenu (main_menu); } },
|
||
|
"Red": { value: settings.bg_r,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.bg_r = v; write_settings (); }},
|
||
|
"Green": { value: settings.bg_g,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.bg_g = v; write_settings (); }},
|
||
|
"Blue": { value: settings.bg_b,
|
||
|
min: 0, max: 1, step: 0.5, wrap: true,
|
||
|
onchange: v => { settings.bg_b = v; write_settings (); }},
|
||
|
};
|
||
|
|
||
|
E.showMenu (main_menu);
|
||
|
}
|
||
|
)
|