import { useCallback, useState } from 'react'; type useModalProps = { /** * Initial state of the modal */ defaultVisible?: boolean; }; export const useModal = ({ defaultVisible = false }: useModalProps = {}) => { const [visible, setVisible] = useState(defaultVisible); const showModal = useCallback(() => setVisible(true), [visible]); const closeModal = useCallback(() => setVisible(false), [visible]); return { visible, showModal, closeModal, }; };