* Hook to handle modal visibility state * @param initialState Initial state of the modal, if true modal will be visible * @return Handlers `[isVisible, toggleModal, showModal, hideModal]`
(initialState = false)
| 6 | * @return Handlers `[isVisible, toggleModal, showModal, hideModal]` |
| 7 | */ |
| 8 | function useModalHandler(initialState = false) { |
| 9 | const [isVisible, setVisible] = useState(initialState); |
| 10 | |
| 11 | const showModal = useCallback(() => setVisible(true), []); |
| 12 | const hideModal = useCallback(() => setVisible(false), []); |
| 13 | const toggleModal = useCallback(() => setVisible((visible) => !visible), []); |
| 14 | |
| 15 | return [isVisible, toggleModal, showModal, hideModal] as const; |
| 16 | } |
| 17 | export default useModalHandler; |
no outgoing calls
no test coverage detected