make default light/dark themes configurable, add support for main application and login form

This commit is contained in:
Andrew Dolgov
2025-08-01 17:20:05 +03:00
parent 851ddf4bbe
commit 8eb340c3ca
7 changed files with 28 additions and 4 deletions

View File

@@ -173,7 +173,7 @@ const App = {
if (link) {
if (navigator.onLine) {
const css_override = is_night ? "themes/night.css" : "themes/light.css";
const css_override = is_night ? App.getInitParam("default_dark_theme") : App.getInitParam("default_light_theme");
link.setAttribute("href", css_override + "?" + Date.now());
} else if (retry < 5) {
console.log("nightModeChanged: we're offline, will attempt to retry...");
@@ -704,6 +704,8 @@ const App = {
window.onerror = this.Error.onWindowError;
this.setInitParam("csrf_token", __csrf_token);
this.setInitParam("default_light_theme", __default_light_theme);
this.setInitParam("default_dark_theme", __default_dark_theme);
this.setupNightModeDetection(() => {
parser.parse();

View File

@@ -7,8 +7,11 @@ window.addEventListener("load", function() {
apply_night_mode: function (is_night, link) {
console.log("night mode changed to", is_night);
const light_theme = typeof __default_light_theme != 'undefined' ? __default_light_theme : 'themes/light.css';
const dark_theme = typeof __default_dark_theme != 'undefined' ? __default_dark_theme : 'themes/dark.css';
if (link) {
const css_override = is_night ? "themes/night.css" : "themes/light.css";
const css_override = is_night ? dark_theme : light_theme;
link.setAttribute("href", css_override + "?" + Date.now());
}