@brizy/cloud-media-upload
Version:
Upload media in Brizy Cloud
16 lines (15 loc) • 871 B
JavaScript
import React, { forwardRef, useCallback, useImperativeHandle, useState } from "react";
import { MediaUploadContainer } from "../MediaUploadContainer";
import { Modal } from "../Modal";
export const ModalContainer = forwardRef(({ rootContainer }, ref) => {
const [{ isOpen, mediaUploadInstance }, setState] = useState({ isOpen: false });
useImperativeHandle(ref, () => ({
update: (newProps) => setState(newProps),
}));
const canRender = typeof mediaUploadInstance !== "undefined" && isOpen;
const _handleClose = useCallback(() => {
mediaUploadInstance?.config.onClose();
}, [mediaUploadInstance]);
return (canRender && (React.createElement(Modal, { isOpen: isOpen, handleClose: _handleClose, rootContainer: rootContainer },
React.createElement(MediaUploadContainer, { mediaUploadInstance: mediaUploadInstance }))));
});