tailwind-ui-library/components/elements/ColorSchemeSelector.tsx
Benjamin Toby f73b56cdc4 Updates
2024-10-17 09:06:54 +01:00

30 lines
856 B
TypeScript

import React, { DetailedHTMLProps, HTMLAttributes } from "react";
import { twMerge } from "tailwind-merge";
import Toggle, { TWUI_TOGGLE_PROPS } from "./Toggle";
export default function ColorSchemeSelector({
toggleProps,
...props
}: DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
toggleProps?: TWUI_TOGGLE_PROPS;
}) {
const [active, setActive] = React.useState(false);
React.useEffect(() => {
if (active) {
document.documentElement.className = "dark";
} else {
document.documentElement.className = "";
}
}, [active]);
return (
<div
{...props}
className={twMerge("flex flex-row items-center", props.className)}
>
<Toggle active={active} setActive={setActive} {...toggleProps} />
</div>
);
}