file-tree-modal-create-file.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React from 'react'
  2. import { useTranslation } from 'react-i18next'
  3. import { Modal } from 'react-bootstrap'
  4. import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
  5. import FileTreeCreateFormProvider from '../../contexts/file-tree-create-form'
  6. import FileTreeModalCreateFileBody from '../file-tree-create/file-tree-modal-create-file-body'
  7. import FileTreeModalCreateFileFooter from '../file-tree-create/file-tree-modal-create-file-footer'
  8. import AccessibleModal from '../../../../shared/components/accessible-modal'
  9. import BetaBadge from '../../../../shared/components/beta-badge'
  10. export default function FileTreeModalCreateFile() {
  11. const { isCreatingFile, cancel } = useFileTreeActionable()
  12. const { t } = useTranslation()
  13. if (!isCreatingFile) {
  14. return null
  15. }
  16. const tooltip = {
  17. id: 'create-file-beta-tooltip',
  18. text: t('beta_badge_tooltip', { feature: 'adding files' })
  19. }
  20. return (
  21. <FileTreeCreateFormProvider>
  22. <AccessibleModal bsSize="large" onHide={cancel} show>
  23. <Modal.Header closeButton>
  24. <Modal.Title>
  25. Add Files &nbsp;
  26. <BetaBadge tooltip={tooltip} />
  27. </Modal.Title>
  28. </Modal.Header>
  29. <Modal.Body className="modal-new-file">
  30. <FileTreeModalCreateFileBody />
  31. </Modal.Body>
  32. <Modal.Footer>
  33. <FileTreeModalCreateFileFooter />
  34. </Modal.Footer>
  35. </AccessibleModal>
  36. </FileTreeCreateFormProvider>
  37. )
  38. }