import { BsmIcon } from "../svgs/bsm-icon.component"; import { useThemeColor } from "renderer/hooks/use-theme-color.hook"; import { getCorrectTextColor } from "renderer/helpers/correct-text-color"; import { GlowEffect } from "./glow-effect.component"; import { motion } from "framer-motion"; import { useState } from "react"; type Props = { className?: string; checked?: boolean; onChange?: (val: boolean) => void; disabled?: boolean }; export function BsmCheckbox({ className, checked, onChange, disabled }: Props) { const [hovered, setHovered] = useState(false); const checkedColor = useThemeColor("first-color"); const iconColor = checkedColor && getCorrectTextColor(checkedColor); const handleClick = () => { if (disabled) { return; } onChange?.(!checked); }; return ( setHovered(true)} onHoverEnd={() => setHovered(false)}> { e.stopPropagation(); handleClick(); }} > ); }