import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, } from 'reactstrap'; import { withTranslation } from 'react-i18next'; import { withUnstatedContainers } from './UnstatedUtils'; import SocketIoContainer from '~/client/services/SocketIoContainer'; import AppContainer from '~/client/services/AppContainer'; import ApiErrorMessageList from './PageManagement/ApiErrorMessageList'; const EmptyTrashModal = (props) => { const { t, isOpen, onClose, appContainer, socketIoContainer, } = props; const [errs, setErrs] = useState(null); async function emptyTrash() { setErrs(null); try { await appContainer.apiv3Delete('/pages/empty-trash'); window.location.reload(); } catch (err) { setErrs(err); } } function emptyButtonHandler() { emptyTrash(); } return ( { t('modal_empty.empty_the_trash')} { t('modal_empty.notice')} ); }; /** * Wrapper component for using unstated */ const EmptyTrashModalWrapper = withUnstatedContainers(EmptyTrashModal, [AppContainer, SocketIoContainer]); EmptyTrashModal.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, socketIoContainer: PropTypes.instanceOf(SocketIoContainer), isOpen: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired, }; export default withTranslation()(EmptyTrashModalWrapper);