1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-27 08:58:30 -04:00
jarv.is/components/page-header/ThemeToggle.tsx

29 lines
739 B
TypeScript

import { useTheme } from "next-themes";
import { BulbOffIcon, BulbOnIcon } from "../icons";
const ThemeToggle = ({ className = "" }) => {
const { resolvedTheme, setTheme } = useTheme();
return (
<button
onClick={() => setTheme(resolvedTheme === "dark" ? "light" : "dark")}
title={resolvedTheme === "dark" ? "Toggle Light Mode" : "Toggle Dark Mode"}
aria-hidden={true}
style={{
border: 0,
padding: 0,
background: "none",
cursor: "pointer",
}}
>
{resolvedTheme === "dark" ? (
<BulbOffIcon className={`icon ${className}`} />
) : (
<BulbOnIcon className={`icon ${className}`} />
)}
</button>
);
};
export default ThemeToggle;