| import { useState } from 'react'; | |
| export interface IModalManagerChildrenProps { | |
| showModal(): void; | |
| hideModal(): void; | |
| visible: boolean; | |
| } | |
| interface IProps { | |
| children: (props: IModalManagerChildrenProps) => React.ReactNode; | |
| } | |
| const ModalManager = ({ children }: IProps) => { | |
| const [visible, setVisible] = useState(false); | |
| const showModal = () => { | |
| setVisible(true); | |
| }; | |
| const hideModal = () => { | |
| setVisible(false); | |
| }; | |
| return children({ visible, showModal, hideModal }); | |
| }; | |
| export default ModalManager; | |