1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-25 17:25:16 +03:00

Add switchable dark mode (#1473)

Add switchable dark mode
This commit is contained in:
Michael Keller 2019-06-24 23:19:44 +12:00 committed by GitHub
commit 26a0a50d2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 1524 additions and 1 deletions

57
src/js/DarkTheme.js Normal file
View file

@ -0,0 +1,57 @@
'use strict';
var css_dark = [
'./css/main-dark.css',
'./css/tabs-dark/landing-dark.css',
'./css/tabs-dark/setup-dark.css',
'./css/tabs-dark/setup_osd-dark.css',
'./css/tabs-dark/help-dark.css',
'./css/tabs-dark/ports-dark.css',
'./css/tabs-dark/configuration-dark.css',
'./css/tabs-dark/pid_tuning-dark.css',
'./css/tabs-dark/receiver-dark.css',
'./css/tabs-dark/servos-dark.css',
'./css/tabs-dark/gps-dark.css',
'./css/tabs-dark/motors-dark.css',
'./css/tabs-dark/led_strip-dark.css',
'./css/tabs-dark/sensors-dark.css',
'./css/tabs-dark/cli-dark.css',
'./css/tabs-dark/logging-dark.css',
'./css/tabs-dark/onboard_logging-dark.css',
'./css/tabs-dark/firmware_flasher-dark.css',
'./css/tabs-dark/adjustments-dark.css',
'./css/tabs-dark/auxiliary-dark.css',
'./css/tabs-dark/failsafe-dark.css',
'./css/tabs-dark/osd-dark.css',
'./css/tabs-dark/power-dark.css',
'./css/tabs-dark/transponder-dark.css',
'./js/libraries/jbox/jBox-dark.css',
]
var DarkTheme = {
configEnabled: false,
};
DarkTheme.setConfig = function(result) {
if (this.configEnabled != result) {
this.configEnabled = result;
if (this.configEnabled) {
this.applyDark();
} else {
this.applyNormal();
}
}
};
DarkTheme.applyDark = function() {
for (var i = 0; i < css_dark.length; i++) {
$('link[href="' + css_dark[i] + '"]').prop('disabled', false);
}
};
DarkTheme.applyNormal = function() {
for (var i = 0; i < css_dark.length; i++) {
$('link[href="' + css_dark[i] + '"]').prop('disabled', true);
}
};

View file

@ -379,6 +379,15 @@ function startProcess() {
CliAutoComplete.setEnabled(checked);
}).change();
$('div.darkTheme input')
.prop('checked', DarkTheme.configEnabled)
.change(function () {
var checked = $(this).is(':checked');
chrome.storage.local.set({'darkTheme': checked});
DarkTheme.setConfig(checked);
}).change();
chrome.storage.local.get('userLanguageSelect', function (result) {
var userLanguage_e = $('div.userLanguage select');
@ -543,6 +552,10 @@ function startProcess() {
chrome.storage.local.get('cliAutoComplete', function (result) {
CliAutoComplete.setEnabled(typeof result.cliAutoComplete == 'undefined' || result.cliAutoComplete); // On by default
});
chrome.storage.local.get('darkTheme', function (result) {
DarkTheme.setConfig(result.darkTheme);
});
};
function checkForConfiguratorUpdates() {