a11yist/app/javascript/controllers/set_theme_controller.js
david 375f72ec4d
Some checks failed
/ Run tests (push) Successful in 1m34s
/ Run system tests (push) Failing after 1m52s
/ Build, push and deploy image (push) Successful in 1m17s
Switch theme after loading for error pages
2024-11-11 07:44:54 +01:00

19 lines
608 B
JavaScript

import { Controller } from "@hotwired/stimulus"
import Cookie from "../lib/cookies"
// Connects to data-controller="set-theme"
export default class extends Controller {
COOKIE_NAME = "modeTheme";
connect() {
console.log("set theme")
const cookieValue = Cookie.get(this.COOKIE_NAME);
let darkMode = window.matchMedia("(prefers-color-scheme:dark)").matches ? "dark" : "light";
if (cookieValue) {
darkMode = cookieValue
} else {
Cookie.set(this.COOKIE_NAME, darkMode);
}
window.document.getElementsByTagName("html")[0].setAttribute("data-bs-theme", darkMode)
}
}