try-new-editor-button.tsx 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import { useCallback } from 'react'
  2. import OLButton from '../ui/components/ol/ol-button'
  3. import { useIdeRedesignSwitcherContext } from '../ide-react/context/ide-redesign-switcher-context'
  4. import MaterialIcon from '@/shared/components/material-icon'
  5. import { useTranslation } from 'react-i18next'
  6. import { isNewEditorInBeta } from '../ide-redesign/utils/new-editor-utils'
  7. const TryNewEditorButton = () => {
  8. const { t } = useTranslation()
  9. const { setShowSwitcherModal } = useIdeRedesignSwitcherContext()
  10. const newEditorBeta = isNewEditorInBeta()
  11. const onClick = useCallback(() => {
  12. setShowSwitcherModal(true)
  13. }, [setShowSwitcherModal])
  14. return (
  15. <div className="d-flex align-items-center">
  16. <OLButton
  17. className="toolbar-experiment-button"
  18. onClick={onClick}
  19. size="sm"
  20. leadingIcon={
  21. !newEditorBeta && <MaterialIcon type="experiment" unfilled />
  22. }
  23. variant="secondary"
  24. >
  25. {t('try_the_new_editor')}
  26. </OLButton>
  27. </div>
  28. )
  29. }
  30. export default TryNewEditorButton