import { Switch } from '@headlessui/react'; import React, { useEffect, useState } from 'react'; type ToggleSwitchProps = { isChecked?: boolean; onChange?: (checked: boolean) => void; }; /** * A custom switch button component. * * @component * @param {Object} props - The component props. * @param {boolean} [props.isChecked=true] - The initial checked state of the switch button. * @param {Function} props.onChange - The callback function to be called when the switch button is toggled. * @returns {JSX.Element} The rendered SwitchButton component. */ const SwitchButton = ({ isChecked = true, onChange }: ToggleSwitchProps): JSX.Element => { const [enabled, setEnabled] = useState(isChecked); useEffect(() => { setEnabled(isChecked); }, [isChecked]); const handleChange = (checked: boolean) => { setEnabled(checked); if (onChange) { onChange(checked); } }; return ( ); }; export default SwitchButton;