fix(use-theme): body css would bug out on navigation

This commit is contained in:
Tom (plebeius.eth)
2024-06-20 13:17:11 +02:00
parent b6f8b1b6c6
commit 73f4136f53
+6 -2
View File
@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
import { useLocation, useParams } from 'react-router-dom';
import { isAllView, isSubscriptionsView } from '../lib/utils/view-utils';
import useThemeStore from '../stores/use-theme-store';
import determineInitialTheme from './use-initial-theme';
import useInitialTheme from './use-initial-theme';
const useTheme = (): [string, (theme: string) => void] => {
const location = useLocation();
@@ -20,14 +20,18 @@ const useTheme = (): [string, (theme: string) => void] => {
load();
}, [loadThemes]);
const initialTheme = determineInitialTheme();
const initialTheme = useInitialTheme();
const [theme, setLocalTheme] = useState(initialTheme);
useEffect(() => {
const previousTheme = document.body.className;
document.body.classList.add(initialTheme);
return () => {
document.body.classList.remove(initialTheme);
if (previousTheme) {
document.body.classList.add(previousTheme);
}
};
}, [initialTheme]);