try-new-editor-button.tsx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { useCallback, useRef } 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 TooltipPromotion from '../ide-redesign/components/tooltip-promo'
  7. const TUTORIAL_KEY = 'try-redesign-again-nudge-promo'
  8. const EVENT_DATA = { name: 'try-redesign-again-nudge-promotion' }
  9. const TryNewEditorButton = () => {
  10. const { t } = useTranslation()
  11. const { setShowSwitcherModal } = useIdeRedesignSwitcherContext()
  12. const switcherButtonRef = useRef(null)
  13. const onClick = useCallback(() => {
  14. setShowSwitcherModal(true)
  15. }, [setShowSwitcherModal])
  16. return (
  17. <div className="d-flex align-items-center">
  18. <OLButton
  19. className="toolbar-experiment-button"
  20. onClick={onClick}
  21. size="sm"
  22. leadingIcon={<MaterialIcon type="experiment" unfilled />}
  23. variant="secondary"
  24. ref={switcherButtonRef}
  25. >
  26. {t('try_the_new_editor')}
  27. </OLButton>
  28. <TooltipPromotion
  29. target={switcherButtonRef.current}
  30. splitTestName="ide-redesign-experiment-nudge"
  31. tutorialKey={TUTORIAL_KEY}
  32. eventData={EVENT_DATA}
  33. className="toolbar-experiment-tooltip"
  34. header={t('dont_miss_out_on_the_updated_editor')}
  35. content={t(
  36. 'weve_been_making_changes_and_improvements_why_not_give_it_a_try'
  37. )}
  38. />
  39. </div>
  40. )
  41. }
  42. export default TryNewEditorButton