Files
overleaf-cep/services/web/frontend/js/features/editor-navigation-toolbar/try-new-editor-button.tsx
T
Mathias Jakobsen 2f7a69cef4 Merge pull request #26616 from overleaf/mj-tooltip-labs-disabled-nudge
[web] Add nudge tooltip to try redesigned editor again

GitOrigin-RevId: 1db104adeee2225f24dd76df141daf145b6ec582
2025-07-01 08:06:37 +00:00

51 lines
1.7 KiB
TypeScript

import { useCallback, useRef } from 'react'
import OLButton from '../ui/components/ol/ol-button'
import { useIdeRedesignSwitcherContext } from '../ide-react/context/ide-redesign-switcher-context'
import MaterialIcon from '@/shared/components/material-icon'
import { useTranslation } from 'react-i18next'
import TooltipPromotion from '../ide-redesign/components/tooltip-promo'
import { useFeatureFlag } from '@/shared/context/split-test-context'
const TUTORIAL_KEY = 'try-redesign-again-nudge-promo'
const EVENT_DATA = { name: 'try-redesign-again-nudge-promotion' }
const TryNewEditorButton = () => {
const { t } = useTranslation()
const { setShowSwitcherModal } = useIdeRedesignSwitcherContext()
const showNudge = useFeatureFlag('ide-redesign-experiment-nudge')
const switcherButtonRef = useRef(null)
const onClick = useCallback(() => {
setShowSwitcherModal(true)
}, [setShowSwitcherModal])
return (
<div className="d-flex align-items-center">
<OLButton
className="toolbar-experiment-button"
onClick={onClick}
size="sm"
leadingIcon={<MaterialIcon type="experiment" unfilled />}
variant="secondary"
ref={switcherButtonRef}
>
{t('try_the_new_editor')}
</OLButton>
{showNudge && (
<TooltipPromotion
target={switcherButtonRef.current}
tutorialKey={TUTORIAL_KEY}
eventData={EVENT_DATA}
className="toolbar-experiment-tooltip"
header={t('dont_miss_out_on_the_updated_editor')}
content={t(
'weve_been_making_changes_and_improvements_why_not_give_it_a_try'
)}
/>
)}
</div>
)
}
export default TryNewEditorButton