Add a hacky way to style the react-player.

This commit is contained in:
Deluan
2021-06-25 17:34:16 -04:00
parent 823fef8e43
commit a1551074bb
8 changed files with 181 additions and 3 deletions
+28 -1
View File
@@ -3,10 +3,11 @@ import useMediaQuery from '@material-ui/core/useMediaQuery'
import themes from './index'
import { AUTO_THEME_ID } from '../consts'
import config from '../config'
import { useEffect } from 'react'
const useCurrentTheme = () => {
const prefersLightMode = useMediaQuery('(prefers-color-scheme: light)')
return useSelector((state) => {
const theme = useSelector((state) => {
if (state.theme === AUTO_THEME_ID) {
return prefersLightMode ? themes.LightTheme : themes.DarkTheme
}
@@ -18,6 +19,32 @@ const useCurrentTheme = () => {
'DarkTheme'
return themes[themeName]
})
useEffect(() => {
const styles = document.getElementsByTagName('style')
let style
for (let i = 0; i < styles.length; i++) {
if (styles[i].id === 'nd-player-style-override') {
style = styles[i]
}
}
if (theme.player.stylesheet) {
if (style === undefined) {
style = document.createElement('style')
style.id = 'nd-player-style-override'
style.innerHTML = theme.player.stylesheet
document.head.appendChild(style)
} else {
style.innerHTML = theme.player.stylesheet
}
} else {
if (style !== undefined) {
document.head.removeChild(style)
}
}
}, [theme])
return theme
}
export default useCurrentTheme