All files / lib/hooks useModalState.tsx

0% Statements 0/4
100% Branches 0/0
0% Functions 0/3
0% Lines 0/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
import { ModalProps } from 'antd';
import { useState } from 'react';
 
export default function useModalState() {
  const [modal, setModal] = useState<ModalProps>({ open: false });
 
  function openModal(modal: Omit<ModalProps, 'open' | 'destroyOnClose' | 'onCancel'>) {
    setModal({
      open: true,
      onCancel: closeModal,
      destroyOnClose: true,
      ...modal
    });
  }
 
  function closeModal() {
    setModal({ open: false });
  }
 
  return { openModal, closeModal, modal };
}