Initial Commit

This commit is contained in:
libertyoms
2025-04-20 09:47:38 +02:00
parent da54bec6ea
commit 211cb3fc6f
14 changed files with 5514 additions and 163 deletions

View File

@ -0,0 +1,30 @@
"use client";
import { useTheme } from "next-themes";
import { DarkModeSwitch } from "react-toggle-dark-mode";
import { useState, useEffect } from "react";
const ThemeToggle = () => {
const { resolvedTheme, setTheme } = useTheme();
const [mounted, setMounted] = useState(false);
// avoid SSR mismatch
useEffect(() => {
setMounted(true);
}, []);
if (!mounted) {
// placeholder box so layout doesnt jump
return <div style={{ width: 20, height: 20 }} />;
}
return (
<DarkModeSwitch
checked={resolvedTheme === "dark"}
onChange={(checked) => setTheme(checked ? "dark" : "light")}
size={20}
/>
);
};
export default ThemeToggle;