prerender dark theme

This commit is contained in:
Sergey Yarkov 2020-07-20 14:02:34 +03:00
parent 876d721877
commit 07764daa62
2 changed files with 23 additions and 3 deletions

View File

@ -1 +1,21 @@
import React from 'react';
import 'firebase/database';
const OnDark = () => {
const codeToRunOnClient = `
if (localStorage.getItem('dark') || (new Date().getHours() >= 22 || new Date().getHours() <= 6)) {
document.body.classList.add('dark')
window.localStorage.setItem('dark', 'true')
}
`;
return (
<script
dangerouslySetInnerHTML={{ __html: codeToRunOnClient }}
/>
)
}
export const onRenderBody = ({ setPreBodyComponents }) => {
setPreBodyComponents(<OnDark key='isDarkTheme' />)
}

View File

@ -18,8 +18,8 @@ const ThemeProvider = ({ children }) => {
}
React.useEffect(() => {
if (localStorage.getItem('dark') || (new Date().getHours() >= 22 || new Date().getHours() <= 6)) {
toggleDarkTheme()
if (localStorage.getItem('dark')) {
setIsDark(true)
}
}, [setIsDark])