Sha256: 355fedcddfcbb25b83cb189974f2cb2b019fdc8199f27c316b6c3965ccaf224d
Contents?: true
Size: 602 Bytes
Versions: 10
Compression:
Stored size: 602 Bytes
Contents
import { Controller } from "@hotwired/stimulus"; export default class extends Controller { static targets = ["toggleButton"]; connect() { this.loadThemePreference(); } toggle() { const isDarkMode = document.documentElement.classList.toggle("dark"); this.saveThemePreference(isDarkMode); } loadThemePreference() { const isDarkMode = localStorage.getItem("themePreference") === "true"; if (isDarkMode) { document.documentElement.classList.add("dark"); } } saveThemePreference(isDarkMode) { localStorage.setItem("themePreference", isDarkMode); } }
Version data entries
10 entries across 10 versions & 1 rubygems