file-tree-modal-create-file-mode.js 923 B

12345678910111213141516171819202122232425262728293031323334
  1. import classnames from 'classnames'
  2. import { Button } from 'react-bootstrap'
  3. import PropTypes from 'prop-types'
  4. import Icon from '../../../../shared/components/icon'
  5. import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
  6. export default function FileTreeModalCreateFileMode({ mode, icon, label }) {
  7. const { newFileCreateMode, startCreatingFile } = useFileTreeActionable()
  8. const handleClick = () => {
  9. startCreatingFile(mode)
  10. }
  11. return (
  12. <li className={classnames({ active: newFileCreateMode === mode })}>
  13. <Button
  14. bsStyle="link"
  15. block
  16. onClick={handleClick}
  17. className="modal-new-file-mode"
  18. >
  19. <Icon type={icon} fw />
  20. &nbsp;
  21. {label}
  22. </Button>
  23. </li>
  24. )
  25. }
  26. FileTreeModalCreateFileMode.propTypes = {
  27. mode: PropTypes.string.isRequired,
  28. icon: PropTypes.string.isRequired,
  29. label: PropTypes.string.isRequired,
  30. }