mirror of
https://github.com/He4eT/elseifplayer.git
synced 2026-05-05 01:17:22 +00:00
29 lines
541 B
JavaScript
29 lines
541 B
JavaScript
import { useState } from 'preact/hooks'
|
|
|
|
import '~/src/style/themes.css'
|
|
|
|
const themes = [
|
|
'light',
|
|
'dim',
|
|
'dark',
|
|
'solarized-light',
|
|
'solarized-dark'
|
|
]
|
|
|
|
const DEFAULT_THEME = themes[0]
|
|
|
|
const assertTheme = theme =>
|
|
themes.includes(theme)
|
|
? theme
|
|
: DEFAULT_THEME
|
|
|
|
export const useThemeEngine = (initialTheme = DEFAULT_THEME) => {
|
|
const [currentTheme, setCurrentTheme] =
|
|
useState(initialTheme)
|
|
|
|
const setTheme = theme => {
|
|
setCurrentTheme(assertTheme(theme))
|
|
}
|
|
|
|
return { currentTheme, setTheme, themes }
|
|
}
|