forked from FOSS/BangleApps
86 lines
2.0 KiB
JavaScript
86 lines
2.0 KiB
JavaScript
(function(back) {
|
|
const SETTINGS_FILE = "rebble.json";
|
|
|
|
// initialize with default settings...
|
|
let localSettings = {'bg': '#0f0', 'color': 'Green', 'autoCycle': true, 'fullScreen': true, 'sideTap':0};
|
|
//sideTap 0 = on| 1= sideBar1 | 2 = ...
|
|
|
|
// ...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) || localSettings;
|
|
|
|
const saved = settings || {}
|
|
for (const key in saved) {
|
|
localSettings[key] = saved[key]
|
|
}
|
|
|
|
let save=function() {
|
|
settings = localSettings
|
|
storage.write(SETTINGS_FILE, settings)
|
|
}
|
|
|
|
let color_options = ['Green','Orange','Cyan','Purple','Red','Blue'];
|
|
let bg_code = ['#0f0','#ff0','#0ff','#f0f','#f00','#00f'];
|
|
|
|
function showMenu()
|
|
{
|
|
const menu={
|
|
'': { 'title': 'Rebble Clock' },
|
|
'< Back': back,
|
|
'Colour': {
|
|
value: 0 | color_options.indexOf(localSettings.color),
|
|
min: 0, max: 5,
|
|
format: v => color_options[v],
|
|
onchange: v => {
|
|
localSettings.color = color_options[v];
|
|
localSettings.bg = bg_code[v];
|
|
save();
|
|
},
|
|
},
|
|
'Fullscreen': {
|
|
value: localSettings.fullScreen,
|
|
onchange: (v) => {
|
|
localSettings.fullScreen = v;
|
|
save();
|
|
showMenu();
|
|
}
|
|
},
|
|
'Auto Cycle': {
|
|
value: localSettings.autoCycle,
|
|
onchange: (v) => {
|
|
localSettings.autoCycle = v;
|
|
save();
|
|
showMenu();
|
|
}
|
|
}
|
|
};
|
|
|
|
if( !localSettings.autoCycle)
|
|
{
|
|
menu['Tap to Cycle']= {
|
|
value: localSettings.sideTap,
|
|
min: 0,
|
|
max: 3,
|
|
step: 1,
|
|
format: v => NumberToSideTap(v),
|
|
onchange: v => {
|
|
localSettings.sideTap=v
|
|
save();
|
|
setTimeout(showMenu, 10);
|
|
}
|
|
};
|
|
}
|
|
E.showMenu(menu);
|
|
}
|
|
|
|
let NumberToSideTap=function(Number)
|
|
{
|
|
if(Number==0)
|
|
return 'on';
|
|
return Number+"";
|
|
}
|
|
|
|
showMenu();
|
|
})
|