quintodrome/ui/src/themes/useCurrentTheme.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
651 B
JavaScript
Raw Normal View History

import { useSelector } from 'react-redux'
import useMediaQuery from '@material-ui/core/useMediaQuery'
import themes from './index'
import { AUTO_THEME_ID } from '../consts'
2021-04-18 09:51:00 -08:00
import config from '../config'
export default () => {
const prefersLightMode = useMediaQuery('(prefers-color-scheme: light)')
return useSelector((state) => {
if (state.theme === AUTO_THEME_ID) {
return prefersLightMode ? themes.LightTheme : themes.DarkTheme
}
2021-04-18 09:51:00 -08:00
const themeName =
state.theme ||
Object.keys(themes).find(
(t) => themes[t].themeName === config.defaultTheme
) ||
'DarkTheme'
return themes[themeName]
})
}