import { Controller } from "@hotwired/stimulus" import Cookie from "../lib/cookies" // Connects to data-controller="theme-switcher" export default class extends Controller { COOKIE_NAME = "modeTheme" connect() { console.log("connect switcher", this.init()) } init() { const cookieValue = Cookie.get(this.COOKIE_NAME); const newThemeValue = cookieValue == "dark" ? "dark" : "light"; Cookie.set("init modeTheme", newThemeValue); window.document.getElementsByTagName("html")[0].setAttribute("data-bs-theme", newThemeValue); const icon = this.element.getElementsByTagName("i")[0]; if (newThemeValue == "dark") { icon.classList.remove("bi-sun-fill") icon.classList.add("bi-moon-stars-fill") } else { icon.classList.add("bi-sun-fill") icon.classList.remove("bi-moon-stars-fill") } } switch() { const cookieValue = Cookie.get(this.COOKIE_NAME); const newThemeValue = cookieValue == "dark" ? "light" : "dark"; Cookie.set("modeTheme", newThemeValue); window.document.getElementsByTagName("html")[0].setAttribute("data-bs-theme", newThemeValue); const icon = this.element.getElementsByTagName("i")[0]; if (newThemeValue == "dark") { icon.classList.remove("bi-sun-fill") icon.classList.add("bi-moon-stars-fill") } else { icon.classList.add("bi-sun-fill") icon.classList.remove("bi-moon-stars-fill") } } }