import { useCallback, useState } from "react"; export default function useToggle(defaultValue: boolean = false) { const [active, setActive] = useState(defaultValue); const toggle = useCallback((callback?: (isOpen: boolean) => void) => { setActive((prev) => { callback?.(!prev); return !prev; }); }, []); const activate = useCallback(() => { setActive(true); }, []); const deactivate = useCallback(() => { setActive(false); }, []); return { active, toggle, activate, deactivate, }; }