/
findly_project
/
FindlyWeb
Обзор
Документация
Войти
/
findly_project
/
FindlyWeb
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
src/modules/theme.js
24 строки
760 B
kolo
cursor rearch project
21 июн 2025, 21:46
21 июн 2025, 21:46
570ae1c
Код
Авторство
О чём код?
export class ThemeSwitcher { #toggleBtn; constructor() { this.#toggleBtn = document.getElementById('theme-toggle'); this.#initTheme(); this.#bindEvents(); } #initTheme() { const savedTheme = localStorage.getItem('theme') || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); document.documentElement.setAttribute('data-theme', savedTheme); } #bindEvents() { this.#toggleBtn?.addEventListener('click', () => { const currentTheme = document.documentElement.getAttribute('data-theme'); const newTheme = currentTheme === 'dark' ? 'light' : 'dark'; document.documentElement.setAttribute('data-theme', newTheme); localStorage.setItem('theme', newTheme); }); } }