diff --git a/src/app/_components/ThemeScript.tsx b/src/app/_components/ThemeScript.tsx new file mode 100644 index 0000000..8530c45 --- /dev/null +++ b/src/app/_components/ThemeScript.tsx @@ -0,0 +1,23 @@ +export const ThemeScript = () => { + const codeToRunOnClient = `(() => { + try { + const storedTheme = localStorage.getItem('theme'); + const theme = storedTheme === 'light' || storedTheme === 'dark' ? storedTheme : 'system'; + + const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; + const resolvedTheme = theme === 'system' ? (systemPrefersDark ? 'dark' : 'light') : theme; + + if (resolvedTheme === 'dark') { + document.documentElement.classList.add('dark'); + } else { + document.documentElement.classList.remove('dark'); + } + } catch (e) { + console.error(e) + } + })();`; + + return ; +}; + +export default ThemeScript; diff --git a/src/app/blog/_components/SeriesAside/index.tsx b/src/app/blog/_components/SeriesAside/index.tsx index 5f8f9dd..61b8cd0 100644 --- a/src/app/blog/_components/SeriesAside/index.tsx +++ b/src/app/blog/_components/SeriesAside/index.tsx @@ -17,7 +17,7 @@ const SeriesCard = ({ series }: SeriesCardProps) => { return (