import { useState } from "react"; interface SwitchProps { label: string; defaultChecked?: boolean; disabled?: boolean; onChange?: (checked: boolean) => void; color?: "blue" | "gray"; // Added prop to toggle color theme } const Switch: React.FC = ({ label, defaultChecked = false, disabled = false, onChange, color = "blue", // Default to blue color }) => { const [isChecked, setIsChecked] = useState(defaultChecked); const handleToggle = () => { if (disabled) return; const newCheckedState = !isChecked; setIsChecked(newCheckedState); if (onChange) { onChange(newCheckedState); } }; const switchColors = color === "blue" ? { background: isChecked ? "bg-brand-500 " : "bg-gray-200 dark:bg-white/10", // Blue version knob: isChecked ? "translate-x-full bg-white" : "translate-x-0 bg-white", } : { background: isChecked ? "bg-gray-800 dark:bg-white/10" : "bg-gray-200 dark:bg-white/10", // Gray version knob: isChecked ? "translate-x-full bg-white" : "translate-x-0 bg-white", }; return ( ); }; export default Switch;