/
githubmirror
/
marktext
Обзор
Документация
Войти
/
githubmirror
/
marktext
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/website/src/hooks/useTheme.ts
20 строк
573 B
Ran Luo
refactor(website): simplify landing page (helpers, types, data-driven blocks) (#4350)
02 июн 2026, 19:38
Не верифицирован
02 июн 2026, 19:38
1c7058a
Код
Авторство
О чём код?
'use client' import { useCallback } from 'react' import { DEFAULT_THEME, THEME_STORAGE_KEY } from '@/lib/sections' type Theme = 'dark' | 'light' export function useToggleTheme(): () => void { return useCallback(() => { const current = (document.documentElement.getAttribute('data-theme') as Theme | null) || DEFAULT_THEME const next: Theme = current === 'dark' ? 'light' : 'dark' document.documentElement.setAttribute('data-theme', next) try { localStorage.setItem(THEME_STORAGE_KEY, next) } catch { /* ignore */ } }, []) }