DeleteAllShareLinksModal.jsx 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import React from 'react';
  2. import { useTranslation } from 'next-i18next';
  3. import PropTypes from 'prop-types';
  4. import {
  5. Button, Modal, ModalHeader, ModalBody, ModalFooter,
  6. } from 'reactstrap';
  7. const DeleteAllShareLinksModal = React.memo((props) => {
  8. const { t } = props;
  9. function closeModal() {
  10. if (props.onClose == null) {
  11. return;
  12. }
  13. props.onClose();
  14. }
  15. function deleteAllLinkHandler() {
  16. if (props.onClickDeleteButton == null) {
  17. return;
  18. }
  19. props.onClickDeleteButton();
  20. closeModal();
  21. }
  22. function closeButtonHandler() {
  23. closeModal();
  24. }
  25. return (
  26. <Modal isOpen={props.isOpen} toggle={closeButtonHandler} className="page-comment-delete-modal">
  27. <ModalHeader tag="h4" toggle={closeButtonHandler} className="bg-danger text-light">
  28. <span>
  29. <i className="icon-fw icon-fire"></i>
  30. {t('security_settings.delete_all_share_links')}
  31. </span>
  32. </ModalHeader>
  33. <ModalBody>
  34. { t('security_settings.share_link_notice')}
  35. </ModalBody>
  36. <ModalFooter>
  37. <Button onClick={closeButtonHandler}>{t('Cancel')}</Button>
  38. <Button color="danger" onClick={deleteAllLinkHandler}>
  39. <i className="icon icon-fire"></i>
  40. {t('Delete')}
  41. </Button>
  42. </ModalFooter>
  43. </Modal>
  44. );
  45. });
  46. DeleteAllShareLinksModal.displayName = 'DeleteAllShareLinksModal';
  47. DeleteAllShareLinksModal.propTypes = {
  48. t: PropTypes.func.isRequired, // i18next
  49. isOpen: PropTypes.bool.isRequired,
  50. onClose: PropTypes.func,
  51. onClickDeleteButton: PropTypes.func,
  52. };
  53. // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
  54. const DeleteAllShareLinksModalWrapperFC = (props) => {
  55. const { t } = useTranslation('admin');
  56. return <DeleteAllShareLinksModal t={t} {...props} />;
  57. };
  58. export default DeleteAllShareLinksModalWrapperFC;