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

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