summaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorGreg Roach <greg@subaqua.co.uk>2026-03-18 13:32:51 +0000
committerGreg Roach <greg@subaqua.co.uk>2026-03-18 13:32:51 +0000
commit0a5ef79412ff95f494e2782f339d542cf2286f8f (patch)
tree19a39b4d86ae2ec6479807749a0be93ef7250b03 /resources
parente46bf5dfd52270f3519094b02afbb8975be23f44 (diff)
downloadwebtrees-0a5ef79412ff95f494e2782f339d542cf2286f8f.tar.gz
webtrees-0a5ef79412ff95f494e2782f339d542cf2286f8f.tar.bz2
webtrees-0a5ef79412ff95f494e2782f339d542cf2286f8f.zip
Bootstrap color scheme can be either fixed (light/dark) or auto (#5338)
Diffstat (limited to 'resources')
-rw-r--r--resources/js/webtrees.js10
-rw-r--r--resources/views/layouts/default.phtml2
2 files changed, 5 insertions, 7 deletions
diff --git a/resources/js/webtrees.js b/resources/js/webtrees.js
index 29042f7100..f894b9e7f5 100644
--- a/resources/js/webtrees.js
+++ b/resources/js/webtrees.js
@@ -954,10 +954,6 @@
};
webtrees.setColorTheme = function (mode) {
- if (document.documentElement.dataset.bsTheme === undefined) {
- return;
- }
-
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.dataset.bsTheme = 'dark';
} else {
@@ -982,8 +978,10 @@ $.ajaxSetup({
*/
document.addEventListener('DOMContentLoaded', function() {
// Set light/dark mode
- webtrees.setColorTheme();
- webtrees.watchForColorThemeChanges();
+ if (document.documentElement.dataset.bsTheme === 'auto') {
+ webtrees.setColorTheme();
+ webtrees.watchForColorThemeChanges();
+ }
// Page elements that load automatically via AJAX.
// This prevents bad robots from crawling resource-intensive pages.
diff --git a/resources/views/layouts/default.phtml b/resources/views/layouts/default.phtml
index 63e3df70c8..0f54ab7b0e 100644
--- a/resources/views/layouts/default.phtml
+++ b/resources/views/layouts/default.phtml
@@ -33,7 +33,7 @@ $theme = Registry::container()->get(ModuleThemeInterface::class);
?>
<!DOCTYPE html>
-<html dir="<?= I18N::locale()->direction() ?>" lang="<?= I18N::locale()->languageTag() ?>" <?= $theme->supportsDarkTheme() ? 'data-bs-theme="light"' : '' ?>>
+<html dir="<?= I18N::locale()->direction() ?>" lang="<?= I18N::locale()->languageTag() ?>" data-bs-theme="<?= $theme->bootstrapColorScheme() ?>">
<head>
<meta charset="UTF-8">
<meta name="csrf" content="<?= e(csrf_token()) ?>">