file-tree-modal-create-file-mode.tsx 858 B

12345678910111213141516171819202122232425262728293031323334
  1. import classnames from 'classnames'
  2. import { useFileTreeActionable } from '../../contexts/file-tree-actionable'
  3. import * as eventTracking from '../../../../infrastructure/event-tracking'
  4. import OLButton from '@/shared/components/ol/ol-button'
  5. export default function FileTreeModalCreateFileMode({
  6. mode,
  7. icon,
  8. label,
  9. }: {
  10. mode: string
  11. icon: string
  12. label: string
  13. }) {
  14. const { newFileCreateMode, startCreatingFile } = useFileTreeActionable()
  15. const handleClick = () => {
  16. startCreatingFile(mode)
  17. eventTracking.sendMB('file-modal-click', { method: mode })
  18. }
  19. return (
  20. <li className={classnames({ active: newFileCreateMode === mode })}>
  21. <OLButton
  22. variant="link"
  23. onClick={handleClick}
  24. className="modal-new-file-mode"
  25. leadingIcon={icon}
  26. >
  27. {label}
  28. </OLButton>
  29. </li>
  30. )
  31. }