feat: Initialize rewrite

This commit is contained in:
Jesse Wierzbinski 2024-07-22 11:49:47 +02:00
parent 47ce9bd9f8
commit f39d34b769
No known key found for this signature in database
143 changed files with 7257 additions and 4032 deletions

37
app/providers.tsx Normal file
View file

@ -0,0 +1,37 @@
"use client";
import { ThemeProvider, useTheme } from "next-themes";
import { type ReactNode, useEffect } from "react";
function ThemeWatcher() {
const { resolvedTheme, setTheme } = useTheme();
useEffect(() => {
const media = window.matchMedia("(prefers-color-scheme: dark)");
function onMediaChange() {
const systemTheme = media.matches ? "dark" : "light";
if (resolvedTheme === systemTheme) {
setTheme("system");
}
}
onMediaChange();
media.addEventListener("change", onMediaChange);
return () => {
media.removeEventListener("change", onMediaChange);
};
}, [resolvedTheme, setTheme]);
return null;
}
export function Providers({ children }: { children: ReactNode }) {
return (
<ThemeProvider attribute="class" disableTransitionOnChange={true}>
<ThemeWatcher />
{children}
</ThemeProvider>
);
}