mirror of https://github.com/espruino/BangleApps
further linter issue fixes
parent
f7acb5c86e
commit
306a975bf8
|
@ -1,7 +1,170 @@
|
||||||
const SETTINGS_FILE = "themeSwitch.json";
|
const SETTINGS_FILE = "themeSwitch.json";
|
||||||
const storage = require("Storage");
|
const storage = require("Storage");
|
||||||
|
var sunrise, sunset, date;
|
||||||
|
var SunCalc = require("suncalc"); // from modules folder
|
||||||
let settings = storage.readJSON('setting.json', 1);
|
let settings = storage.readJSON('setting.json', 1);
|
||||||
let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
|
let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
|
||||||
|
if (settings.theme.fg > 0) {
|
||||||
|
saved.darkModeActive = 1;
|
||||||
|
} else {
|
||||||
|
saved.darkModeActive = 0;
|
||||||
|
}
|
||||||
|
let dmH, dmM, lmH, lmM;
|
||||||
|
if (require("Storage").readJSON("themeSwitch.json", 1) !== undefined) {
|
||||||
|
dmH = parseInt(saved.darkModeAt.split(":")[0] | 0);
|
||||||
|
dmM = parseInt(saved.darkModeAt.split(":")[1] | 0);
|
||||||
|
lmH = parseInt(saved.lightModeAt.split(":")[0] | 0);
|
||||||
|
lmM = parseInt(saved.lightModeAt.split(":")[1] | 0);
|
||||||
|
} else {
|
||||||
|
dmH = 0;
|
||||||
|
dmM = 0;
|
||||||
|
lmH = 0;
|
||||||
|
lmM = 0;
|
||||||
|
}
|
||||||
|
// Main menu
|
||||||
|
|
||||||
|
var mainmenu = {
|
||||||
|
"": {
|
||||||
|
"title": "Theme Switch"
|
||||||
|
},
|
||||||
|
"< Back": function () { load(); },
|
||||||
|
"Automatic Dark Mode": {
|
||||||
|
value: saved.darkMode | false,
|
||||||
|
format: v => v ? "On" : "Off",
|
||||||
|
min: 0, max: 1, step: 1,
|
||||||
|
onchange: v => {
|
||||||
|
saved.darkMode = v;
|
||||||
|
storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dark Mode Active": {
|
||||||
|
value: saved.darkModeActive | false,
|
||||||
|
format: v => v ? "On" : "Off",
|
||||||
|
min: 0, max: 1, step: 1,
|
||||||
|
onchange: v => {
|
||||||
|
saved.darkModeActive = v;
|
||||||
|
storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
if (v !== 0) {
|
||||||
|
setDarkTheme();
|
||||||
|
Bangle.drawWidgets();
|
||||||
|
} else {
|
||||||
|
setLightTheme();
|
||||||
|
Bangle.drawWidgets();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Dark Mode by Sun": {
|
||||||
|
value: saved.darkModeBySun | false,
|
||||||
|
format: v => v ? "On" : "Off",
|
||||||
|
min: 0, max: 1, step: 1,
|
||||||
|
onchange: v => {
|
||||||
|
saved.darkModeBySun = v;
|
||||||
|
if (v !== 0) {
|
||||||
|
//print("calculating sun times");
|
||||||
|
calculateSunTimes();
|
||||||
|
saved.lightModeAt = sunrise;
|
||||||
|
saved.darkModeAt = sunset;
|
||||||
|
//print("sunrise" +sunrise);
|
||||||
|
//print("sunset" +sunset);
|
||||||
|
}
|
||||||
|
storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"light mode at": {
|
||||||
|
value: saved.lightModeAt,
|
||||||
|
format: v => saved.lightModeAt,
|
||||||
|
onchange: function () {
|
||||||
|
if (saved.darkModeBySun === 0) {
|
||||||
|
E.showMenu(lightModeAtMenu);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
E.showAlert("Deactivate dark mode first!", "Action Blocked").then(
|
||||||
|
function () { E.showMenu(mainmenu); });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dark mode at": {
|
||||||
|
value: saved.darkModeAt,
|
||||||
|
format: v => saved.darkModeAt,
|
||||||
|
onchange: function () {
|
||||||
|
if (saved.darkModeBySun === 0) {
|
||||||
|
E.showMenu(darkModeAtMenu);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
E.showAlert("Deactivate dark mode first!", "Action Blocked").then(function () { E.showMenu(mainmenu); });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Exit": function () { load(); },
|
||||||
|
};
|
||||||
|
|
||||||
|
var lightModeAtMenu = {
|
||||||
|
"": {
|
||||||
|
"title": "light mode at"
|
||||||
|
},
|
||||||
|
"Hour": {
|
||||||
|
value: lmH,
|
||||||
|
min: 0, max: 23, step: 1,
|
||||||
|
onchange: v => { lmH = v; }
|
||||||
|
},
|
||||||
|
"Minute": {
|
||||||
|
value: lmM,
|
||||||
|
min: 0, max: 59, step: 1,
|
||||||
|
onchange: v => { lmM = v; }
|
||||||
|
},
|
||||||
|
"< Back": function () {
|
||||||
|
saved.lightModeAt = fixTime(lmH, lmM);
|
||||||
|
storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
var darkModeAtMenu = {
|
||||||
|
"": {
|
||||||
|
"title": "dark mode at"
|
||||||
|
},
|
||||||
|
"Hour": {
|
||||||
|
value: dmH,
|
||||||
|
min: 0, max: 23, step: 1,
|
||||||
|
onchange: v => { dmH = v; }
|
||||||
|
},
|
||||||
|
"Minute": {
|
||||||
|
value: dmM,
|
||||||
|
min: 0, max: 59, step: 1,
|
||||||
|
onchange: v => { dmM = v; }
|
||||||
|
},
|
||||||
|
"< Back": function () {
|
||||||
|
saved.darkModeAt = fixTime(dmH, dmM);
|
||||||
|
storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// Actually display the menu
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
|
||||||
|
// Function to fix time format
|
||||||
|
function fixTime(h, m) {
|
||||||
|
if (h.toString().length < 2) {
|
||||||
|
h = "0" + h.toString();
|
||||||
|
}
|
||||||
|
if (m.toString().length < 2) {
|
||||||
|
m = "0" + m.toString();
|
||||||
|
}
|
||||||
|
return h.toString() + ":" + m.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
function calculateSunTimes() {
|
||||||
|
var location = require("Storage").readJSON("mylocation.json", 1) || {};
|
||||||
|
location.lat = location.lat || 51.5072;
|
||||||
|
location.lon = location.lon || 0.1276; // London
|
||||||
|
date = new Date(Date.now());
|
||||||
|
var times = SunCalc.getTimes(date, location.lat, location.lon);
|
||||||
|
sunrise = fixTime(times.sunrise.getHours(), times.sunrise.getMinutes());
|
||||||
|
sunset = fixTime(times.sunset.getHours(), times.sunset.getMinutes());
|
||||||
|
/* do we want to re-calculate this every day? Or we just assume
|
||||||
|
that 'show' will get called once a day? */
|
||||||
|
}
|
||||||
|
|
||||||
function cl(x) { return g.setColor(x).getColor(); }
|
function cl(x) { return g.setColor(x).getColor(); }
|
||||||
|
|
||||||
|
@ -16,7 +179,7 @@ function upd(th) {
|
||||||
g.clear(1);
|
g.clear(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function flipTheme(saved) {
|
function setDarkTheme() {
|
||||||
if (!g.theme.dark) {
|
if (!g.theme.dark) {
|
||||||
upd({
|
upd({
|
||||||
fg: cl("#fff"), bg: cl("#000"),
|
fg: cl("#fff"), bg: cl("#000"),
|
||||||
|
@ -24,26 +187,67 @@ function flipTheme(saved) {
|
||||||
fgH: cl("#fff"), bgH: cl("#00f"),
|
fgH: cl("#fff"), bgH: cl("#00f"),
|
||||||
dark: true
|
dark: true
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
saved.darkModeActive = 1;
|
function setLightTheme() {
|
||||||
} else {
|
if (g.theme.dark) {
|
||||||
upd({
|
upd({
|
||||||
fg: cl("#000"), bg: cl("#fff"),
|
fg: cl("#000"), bg: cl("#fff"),
|
||||||
fg2: cl("#000"), bg2: cl("#cff"),
|
fg2: cl("#000"), bg2: cl("#cff"),
|
||||||
fgH: cl("#000"), bgH: cl("#0ff"),
|
fgH: cl("#000"), bgH: cl("#0ff"),
|
||||||
dark: false
|
dark: false
|
||||||
});
|
});
|
||||||
saved.darkModeActive = 0;
|
|
||||||
}
|
}
|
||||||
return saved;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.theme.fg > 0) {
|
// const SETTINGS_FILE = "themeSwitch.json";
|
||||||
saved.darkModeActive = 1;
|
// const storage = require("Storage");
|
||||||
} else {
|
// let settings = storage.readJSON('setting.json', 1);
|
||||||
saved.darkModeActive = 0;
|
// let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
|
||||||
}
|
|
||||||
|
|
||||||
saved = flipTheme(saved);
|
// function cl(x) { return g.setColor(x).getColor(); }
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
|
||||||
Bangle.drawWidgets();
|
// function upd(th) {
|
||||||
|
// g.theme = th;
|
||||||
|
// settings.theme = th;
|
||||||
|
// storage.write('setting.json', settings);
|
||||||
|
// delete g.reset;
|
||||||
|
// g._reset = g.reset;
|
||||||
|
// g.reset = function (n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
|
||||||
|
// g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); };
|
||||||
|
// g.clear(1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function flipTheme(saved) {
|
||||||
|
// if (!g.theme.dark) {
|
||||||
|
// upd({
|
||||||
|
// fg: cl("#fff"), bg: cl("#000"),
|
||||||
|
// fg2: cl("#fff"), bg2: cl("#004"),
|
||||||
|
// fgH: cl("#fff"), bgH: cl("#00f"),
|
||||||
|
// dark: true
|
||||||
|
// });
|
||||||
|
|
||||||
|
// saved.darkModeActive = 1;
|
||||||
|
// } else {
|
||||||
|
// upd({
|
||||||
|
// fg: cl("#000"), bg: cl("#fff"),
|
||||||
|
// fg2: cl("#000"), bg2: cl("#cff"),
|
||||||
|
// fgH: cl("#000"), bgH: cl("#0ff"),
|
||||||
|
// dark: false
|
||||||
|
// });
|
||||||
|
// saved.darkModeActive = 0;
|
||||||
|
// }
|
||||||
|
// return saved;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (settings.theme.fg > 0) {
|
||||||
|
// saved.darkModeActive = 1;
|
||||||
|
// } else {
|
||||||
|
// saved.darkModeActive = 0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// saved = flipTheme(saved);
|
||||||
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
// Bangle.drawWidgets();
|
||||||
|
// load();
|
|
@ -9,9 +9,7 @@
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"thmswtch.app.js","url":"app.js"},
|
{"name":"thmswtch.app.js","url":"app.js"},
|
||||||
{"name":"thmswtch.settings.js","url":"settings.js"},
|
|
||||||
{"name":"thmswtch.boot.js","url":"boot.js"},
|
{"name":"thmswtch.boot.js","url":"boot.js"},
|
||||||
{"name":"thmswtch.img","url":"app-icon.js","evaluate":true}
|
{"name":"thmswtch.img","url":"app-icon.js","evaluate":true}
|
||||||
],
|
]
|
||||||
"data":[{"name":"thmswtch.settings.json"}]
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,202 +1,202 @@
|
||||||
const SETTINGS_FILE = "themeSwitch.json";
|
// const SETTINGS_FILE = "themeSwitch.json";
|
||||||
const storage = require("Storage");
|
// const storage = require("Storage");
|
||||||
var sunrise, sunset, date;
|
// var sunrise, sunset, date;
|
||||||
var SunCalc = require("suncalc"); // from modules folder
|
// var SunCalc = require("suncalc"); // from modules folder
|
||||||
let settings = storage.readJSON('setting.json', 1);
|
// let settings = storage.readJSON('setting.json', 1);
|
||||||
let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
|
// let saved = storage.readJSON(SETTINGS_FILE, 1) || {};
|
||||||
if (settings.theme.fg > 0) {
|
// if (settings.theme.fg > 0) {
|
||||||
saved.darkModeActive = 1;
|
// saved.darkModeActive = 1;
|
||||||
} else {
|
// } else {
|
||||||
saved.darkModeActive = 0;
|
// saved.darkModeActive = 0;
|
||||||
}
|
// }
|
||||||
let dmH, dmM, lmH, lmM;
|
// let dmH, dmM, lmH, lmM;
|
||||||
if (require("Storage").readJSON("themeSwitch.json", 1) !== undefined) {
|
// if (require("Storage").readJSON("themeSwitch.json", 1) !== undefined) {
|
||||||
dmH = parseInt(saved.darkModeAt.split(":")[0] | 0);
|
// dmH = parseInt(saved.darkModeAt.split(":")[0] | 0);
|
||||||
dmM = parseInt(saved.darkModeAt.split(":")[1] | 0);
|
// dmM = parseInt(saved.darkModeAt.split(":")[1] | 0);
|
||||||
lmH = parseInt(saved.lightModeAt.split(":")[0] | 0);
|
// lmH = parseInt(saved.lightModeAt.split(":")[0] | 0);
|
||||||
lmM = parseInt(saved.lightModeAt.split(":")[1] | 0);
|
// lmM = parseInt(saved.lightModeAt.split(":")[1] | 0);
|
||||||
} else {
|
// } else {
|
||||||
dmH = 0;
|
// dmH = 0;
|
||||||
dmM = 0;
|
// dmM = 0;
|
||||||
lmH = 0;
|
// lmH = 0;
|
||||||
lmM = 0;
|
// lmM = 0;
|
||||||
}
|
// }
|
||||||
// Main menu
|
// // Main menu
|
||||||
|
|
||||||
var mainmenu = {
|
// var mainmenu = {
|
||||||
"": {
|
// "": {
|
||||||
"title": "Theme Switch"
|
// "title": "Theme Switch"
|
||||||
},
|
// },
|
||||||
"< Back": function () { load(); },
|
// "< Back": function () { load(); },
|
||||||
"Automatic Dark Mode": {
|
// "Automatic Dark Mode": {
|
||||||
value: saved.darkMode | false,
|
// value: saved.darkMode | false,
|
||||||
|
// //format: v => v ? "On" : "Off",
|
||||||
|
// min: 0, max: 1, step: 1,
|
||||||
|
// onchange: v => {
|
||||||
|
// saved.darkMode = v;
|
||||||
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// "Dark Mode Active": {
|
||||||
|
// value: saved.darkModeActive | false,
|
||||||
// format: v => v ? "On" : "Off",
|
// format: v => v ? "On" : "Off",
|
||||||
min: 0, max: 1, step: 1,
|
// min: 0, max: 1, step: 1,
|
||||||
onchange: v => {
|
// onchange: v => {
|
||||||
saved.darkMode = v;
|
// saved.darkModeActive = v;
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
}
|
// if (v !== 0) {
|
||||||
},
|
// setDarkTheme();
|
||||||
"Dark Mode Active": {
|
// Bangle.drawWidgets();
|
||||||
value: saved.darkModeActive | false,
|
// } else {
|
||||||
format: v => v ? "On" : "Off",
|
// setLightTheme();
|
||||||
min: 0, max: 1, step: 1,
|
// Bangle.drawWidgets();
|
||||||
onchange: v => {
|
// }
|
||||||
saved.darkModeActive = v;
|
// }
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
// },
|
||||||
if (v !== 0) {
|
// "Dark Mode by Sun": {
|
||||||
setDarkTheme();
|
// value: saved.darkModeBySun | false,
|
||||||
Bangle.drawWidgets();
|
// format: v => v ? "On" : "Off",
|
||||||
} else {
|
// min: 0, max: 1, step: 1,
|
||||||
setLightTheme();
|
// onchange: v => {
|
||||||
Bangle.drawWidgets();
|
// saved.darkModeBySun = v;
|
||||||
}
|
// if (v !== 0) {
|
||||||
}
|
// //print("calculating sun times");
|
||||||
},
|
// calculateSunTimes();
|
||||||
"Dark Mode by Sun": {
|
// saved.lightModeAt = sunrise;
|
||||||
value: saved.darkModeBySun | false,
|
// saved.darkModeAt = sunset;
|
||||||
format: v => v ? "On" : "Off",
|
// //print("sunrise" +sunrise);
|
||||||
min: 0, max: 1, step: 1,
|
// //print("sunset" +sunset);
|
||||||
onchange: v => {
|
// }
|
||||||
saved.darkModeBySun = v;
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
if (v !== 0) {
|
// },
|
||||||
//print("calculating sun times");
|
// },
|
||||||
calculateSunTimes();
|
// "light mode at": {
|
||||||
saved.lightModeAt = sunrise;
|
// value: saved.lightModeAt,
|
||||||
saved.darkModeAt = sunset;
|
// format: v => saved.lightModeAt,
|
||||||
//print("sunrise" +sunrise);
|
// onchange: function () {
|
||||||
//print("sunset" +sunset);
|
// if (saved.darkModeBySun === 0) {
|
||||||
}
|
// E.showMenu(lightModeAtMenu);
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
// }
|
||||||
},
|
// else {
|
||||||
},
|
// E.showAlert("Deactivate dark mode first!", "Action Blocked").then(
|
||||||
"light mode at": {
|
// function () { E.showMenu(mainmenu); });
|
||||||
value: saved.lightModeAt,
|
// }
|
||||||
format: v => saved.lightModeAt,
|
// }
|
||||||
onchange: function () {
|
// },
|
||||||
if (saved.darkModeBySun === 0) {
|
// "dark mode at": {
|
||||||
E.showMenu(lightModeAtMenu);
|
// value: saved.darkModeAt,
|
||||||
}
|
// format: v => saved.darkModeAt,
|
||||||
else {
|
// onchange: function () {
|
||||||
E.showAlert("Deactivate dark mode first!", "Action Blocked").then(
|
// if (saved.darkModeBySun === 0) {
|
||||||
function () { E.showMenu(mainmenu); });
|
// E.showMenu(darkModeAtMenu);
|
||||||
}
|
// }
|
||||||
}
|
// else {
|
||||||
},
|
// E.showAlert("Deactivate dark mode first!", "Action Blocked").then(function () { E.showMenu(mainmenu); });
|
||||||
"dark mode at": {
|
// }
|
||||||
value: saved.darkModeAt,
|
// }
|
||||||
format: v => saved.darkModeAt,
|
// },
|
||||||
onchange: function () {
|
// "Exit": function () { load(); },
|
||||||
if (saved.darkModeBySun === 0) {
|
// };
|
||||||
E.showMenu(darkModeAtMenu);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
E.showAlert("Deactivate dark mode first!", "Action Blocked").then(function () { E.showMenu(mainmenu); });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Exit": function () { load(); },
|
|
||||||
};
|
|
||||||
|
|
||||||
var lightModeAtMenu = {
|
// var lightModeAtMenu = {
|
||||||
"": {
|
// "": {
|
||||||
"title": "light mode at"
|
// "title": "light mode at"
|
||||||
},
|
// },
|
||||||
"Hour": {
|
// "Hour": {
|
||||||
value: lmH,
|
// value: lmH,
|
||||||
min: 0, max: 23, step: 1,
|
// min: 0, max: 23, step: 1,
|
||||||
onchange: v => { lmH = v; }
|
// onchange: v => { lmH = v; }
|
||||||
},
|
// },
|
||||||
"Minute": {
|
// "Minute": {
|
||||||
value: lmM,
|
// value: lmM,
|
||||||
min: 0, max: 59, step: 1,
|
// min: 0, max: 59, step: 1,
|
||||||
onchange: v => { lmM = v; }
|
// onchange: v => { lmM = v; }
|
||||||
},
|
// },
|
||||||
"< Back": function () {
|
// "< Back": function () {
|
||||||
saved.lightModeAt = fixTime(lmH, lmM);
|
// saved.lightModeAt = fixTime(lmH, lmM);
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
E.showMenu(mainmenu);
|
// E.showMenu(mainmenu);
|
||||||
},
|
// },
|
||||||
};
|
// };
|
||||||
|
|
||||||
var darkModeAtMenu = {
|
// var darkModeAtMenu = {
|
||||||
"": {
|
// "": {
|
||||||
"title": "dark mode at"
|
// "title": "dark mode at"
|
||||||
},
|
// },
|
||||||
"Hour": {
|
// "Hour": {
|
||||||
value: dmH,
|
// value: dmH,
|
||||||
min: 0, max: 23, step: 1,
|
// min: 0, max: 23, step: 1,
|
||||||
onchange: v => { dmH = v; }
|
// onchange: v => { dmH = v; }
|
||||||
},
|
// },
|
||||||
"Minute": {
|
// "Minute": {
|
||||||
value: dmM,
|
// value: dmM,
|
||||||
min: 0, max: 59, step: 1,
|
// min: 0, max: 59, step: 1,
|
||||||
onchange: v => { dmM = v; }
|
// onchange: v => { dmM = v; }
|
||||||
},
|
// },
|
||||||
"< Back": function () {
|
// "< Back": function () {
|
||||||
saved.darkModeAt = fixTime(dmH, dmM);
|
// saved.darkModeAt = fixTime(dmH, dmM);
|
||||||
storage.writeJSON(SETTINGS_FILE, saved);
|
// storage.writeJSON(SETTINGS_FILE, saved);
|
||||||
E.showMenu(mainmenu);
|
// E.showMenu(mainmenu);
|
||||||
},
|
// },
|
||||||
};
|
// };
|
||||||
|
|
||||||
// Actually display the menu
|
// // Actually display the menu
|
||||||
E.showMenu(mainmenu);
|
// E.showMenu(mainmenu);
|
||||||
|
|
||||||
// Function to fix time format
|
// // Function to fix time format
|
||||||
function fixTime(h, m) {
|
// function fixTime(h, m) {
|
||||||
if (h.toString().length < 2) {
|
// if (h.toString().length < 2) {
|
||||||
h = "0" + h.toString();
|
// h = "0" + h.toString();
|
||||||
}
|
// }
|
||||||
if (m.toString().length < 2) {
|
// if (m.toString().length < 2) {
|
||||||
m = "0" + m.toString();
|
// m = "0" + m.toString();
|
||||||
}
|
// }
|
||||||
return h.toString() + ":" + m.toString();
|
// return h.toString() + ":" + m.toString();
|
||||||
}
|
// }
|
||||||
|
|
||||||
function calculateSunTimes() {
|
// function calculateSunTimes() {
|
||||||
var location = require("Storage").readJSON("mylocation.json", 1) || {};
|
// var location = require("Storage").readJSON("mylocation.json", 1) || {};
|
||||||
location.lat = location.lat || 51.5072;
|
// location.lat = location.lat || 51.5072;
|
||||||
location.lon = location.lon || 0.1276; // London
|
// location.lon = location.lon || 0.1276; // London
|
||||||
date = new Date(Date.now());
|
// date = new Date(Date.now());
|
||||||
var times = SunCalc.getTimes(date, location.lat, location.lon);
|
// var times = SunCalc.getTimes(date, location.lat, location.lon);
|
||||||
sunrise = fixTime(times.sunrise.getHours(), times.sunrise.getMinutes());
|
// sunrise = fixTime(times.sunrise.getHours(), times.sunrise.getMinutes());
|
||||||
sunset = fixTime(times.sunset.getHours(), times.sunset.getMinutes());
|
// sunset = fixTime(times.sunset.getHours(), times.sunset.getMinutes());
|
||||||
/* do we want to re-calculate this every day? Or we just assume
|
// /* do we want to re-calculate this every day? Or we just assume
|
||||||
that 'show' will get called once a day? */
|
// that 'show' will get called once a day? */
|
||||||
}
|
// }
|
||||||
|
|
||||||
function cl(x) { return g.setColor(x).getColor(); }
|
// function cl(x) { return g.setColor(x).getColor(); }
|
||||||
|
|
||||||
function upd(th) {
|
// function upd(th) {
|
||||||
g.theme = th;
|
// g.theme = th;
|
||||||
settings.theme = th;
|
// settings.theme = th;
|
||||||
storage.write('setting.json', settings);
|
// storage.write('setting.json', settings);
|
||||||
delete g.reset;
|
// delete g.reset;
|
||||||
g._reset = g.reset;
|
// g._reset = g.reset;
|
||||||
g.reset = function (n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
|
// g.reset = function (n) { return g._reset().setColor(th.fg).setBgColor(th.bg); };
|
||||||
g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); };
|
// g.clear = function (n) { if (n) g.reset(); return g.clearRect(0, 0, g.getWidth(), g.getHeight()); };
|
||||||
g.clear(1);
|
// g.clear(1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
function setDarkTheme() {
|
// function setDarkTheme() {
|
||||||
if (!g.theme.dark) {
|
// if (!g.theme.dark) {
|
||||||
upd({
|
// upd({
|
||||||
fg: cl("#fff"), bg: cl("#000"),
|
// fg: cl("#fff"), bg: cl("#000"),
|
||||||
fg2: cl("#fff"), bg2: cl("#004"),
|
// fg2: cl("#fff"), bg2: cl("#004"),
|
||||||
fgH: cl("#fff"), bgH: cl("#00f"),
|
// fgH: cl("#fff"), bgH: cl("#00f"),
|
||||||
dark: true
|
// dark: true
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
function setLightTheme() {
|
// function setLightTheme() {
|
||||||
if (g.theme.dark) {
|
// if (g.theme.dark) {
|
||||||
upd({
|
// upd({
|
||||||
fg: cl("#000"), bg: cl("#fff"),
|
// fg: cl("#000"), bg: cl("#fff"),
|
||||||
fg2: cl("#000"), bg2: cl("#cff"),
|
// fg2: cl("#000"), bg2: cl("#cff"),
|
||||||
fgH: cl("#000"), bgH: cl("#0ff"),
|
// fgH: cl("#000"), bgH: cl("#0ff"),
|
||||||
dark: false
|
// dark: false
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
// }
|
Loading…
Reference in New Issue