BangleApps/apps/lcars/lcars.settings.js

135 lines
3.9 KiB
JavaScript
Raw Normal View History

2021-12-17 15:24:05 +00:00
(function(back) {
const SETTINGS_FILE = "lcars.setting.json";
// initialize with default settings...
const storage = require('Storage')
let settings = {
alarm: -1,
dataRow1: "Steps",
2022-04-20 15:24:50 +00:00
dataRow2: "HRM",
dataRow3: "Battery",
speed: "kph",
2022-02-13 09:16:32 +00:00
fullscreen: false,
2022-04-11 14:34:14 +00:00
themeColor1BG: "#FF9900",
themeColor2BG: "#FF00DC",
themeColor3BG: "#0094FF",
2022-08-22 21:58:05 +00:00
disableAlarms: false,
2023-01-04 00:24:56 +00:00
disableData: false,
randomColors: false,
2021-12-17 15:24:05 +00:00
};
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
for (const key in saved_settings) {
settings[key] = saved_settings[key]
}
function save() {
storage.write(SETTINGS_FILE, settings)
}
2023-07-01 15:55:42 +00:00
var dataOptions = ["Steps", "Battery", "BattVolt", "VREF", "HRM", "Temp", "Humidity", "Wind", "Altitude", "CoreT"];
var speedOptions = ["kph", "mph"];
var color_options = ['Green','Orange','Cyan','Purple','Red','Blue','Yellow','White','Purple','Pink','Light Green','Dark Green', 'Brown', 'Turquoise', 'Magenta', 'Gold', 'Silver', 'Violet', 'Teal', 'Maroon', 'Lavender'];
var bg_code = ['#00ff00','#FF9900','#0094FF','#FF00DC','#ff0000','#0000ff','#ffef00','#FFFFFF','#FF00FF','#6C00FF','#99FF00','#556B2F', '#8B4513', '#40E0D0', '#FF00FF', '#FFD700', '#C0C0C0', '#EE82EE', '#008080', '#800000', '#E6E6FA'];
2021-12-17 15:24:05 +00:00
E.showMenu({
2021-12-17 15:27:36 +00:00
'': { 'title': 'LCARS Clock' },
2021-12-17 15:24:05 +00:00
'< Back': back,
'Row 1': {
value: 0 | dataOptions.indexOf(settings.dataRow1),
2022-02-10 21:17:18 +00:00
min: 0, max: 8,
format: v => dataOptions[v],
2021-12-17 15:24:05 +00:00
onchange: v => {
settings.dataRow1 = dataOptions[v];
2021-12-17 15:24:05 +00:00
save();
},
},
'Row 2': {
value: 0 | dataOptions.indexOf(settings.dataRow2),
2022-02-10 21:17:18 +00:00
min: 0, max: 8,
format: v => dataOptions[v],
2021-12-17 15:24:05 +00:00
onchange: v => {
settings.dataRow2 = dataOptions[v];
2021-12-17 15:24:05 +00:00
save();
},
},
'Row 3': {
value: 0 | dataOptions.indexOf(settings.dataRow3),
2022-02-10 21:17:18 +00:00
min: 0, max: 8,
format: v => dataOptions[v],
2021-12-17 15:24:05 +00:00
onchange: v => {
settings.dataRow3 = dataOptions[v];
save();
},
},
2022-02-13 09:16:32 +00:00
'Full Screen': {
value: settings.fullscreen,
format: () => (settings.fullscreen ? 'Yes' : 'No'),
onchange: () => {
settings.fullscreen = !settings.fullscreen;
save();
},
},
'Speed': {
value: 0 | speedOptions.indexOf(settings.speed),
min: 0, max: 1,
format: v => speedOptions[v],
onchange: v => {
settings.speed = speedOptions[v];
2021-12-17 15:24:05 +00:00
save();
},
2022-04-11 14:34:14 +00:00
},
'Theme Color 1': {
2022-04-13 22:56:25 +00:00
value: 0 | bg_code.indexOf(settings.themeColor1BG),
2023-01-04 00:55:51 +00:00
min: 0, max: 11,
2022-04-11 14:34:14 +00:00
format: v => color_options[v],
onchange: v => {
settings.themeColor1BG = bg_code[v];
save();
},
},
'Theme Color 2': {
2022-04-13 22:56:25 +00:00
value: 0 | bg_code.indexOf(settings.themeColor2BG),
2023-01-04 00:55:51 +00:00
min: 0, max: 11,
2022-04-11 14:34:14 +00:00
format: v => color_options[v],
onchange: v => {
settings.themeColor2BG = bg_code[v];
save();
},
},
'Theme Color 3': {
2022-04-13 22:56:25 +00:00
value: 0 | bg_code.indexOf(settings.themeColor3BG),
2023-01-04 00:55:51 +00:00
min: 0, max: 11,
2022-04-11 14:34:14 +00:00
format: v => color_options[v],
onchange: v => {
settings.themeColor3BG = bg_code[v];
save();
},
2022-08-22 21:58:05 +00:00
},
'Disable alarm functionality': {
value: settings.disableAlarms,
format: () => (settings.disableAlarms ? 'Yes' : 'No'),
onchange: () => {
settings.disableAlarms = !settings.disableAlarms;
save();
},
},
2023-01-04 00:24:56 +00:00
'Disable data pages functionality': {
value: settings.disableData,
format: () => (settings.disableData ? 'Yes' : 'No'),
onchange: () => {
settings.disableData = !settings.disableData;
save();
},
},
'Random colors on open': {
value: settings.randomColors,
format: () => (settings.randomColors ? 'Yes' : 'No'),
onchange: () => {
settings.randomColors = !settings.randomColors;
save();
},
},
2021-12-17 15:24:05 +00:00
});
})