import { DropdownHeader } from '@/shared/components/dropdown/dropdown-menu' import { ToolbarButtonMenu } from './button-menu' import { emitToolbarEvent } from '../../extensions/toolbar/utils/analytics' import MaterialIcon from '../../../../shared/components/material-icon' import { useTranslation } from 'react-i18next' import { useCodeMirrorViewContext } from '../codemirror-context' import { useEditorContext } from '@/shared/context/editor-context' import { wrapInDisplayMath, wrapInInlineMath, } from '../../extensions/toolbar/commands' import { memo } from 'react' import OLListGroupItem from '@/shared/components/ol/ol-list-group-item' import sparkleWhite from '@/shared/svgs/sparkle-small-white.svg' import sparkle from '@/shared/svgs/ai-sparkle-text.svg' import getMeta from '@/utils/meta' export const MathDropdown = memo(function MathDropdown() { const { t } = useTranslation() const view = useCodeMirrorViewContext() const { writefullInstance } = useEditorContext() const showAiFeaturesDisabled = getMeta('ol-showAiFeaturesDisabled') const renderAIButton = writefullInstance || showAiFeaturesDisabled return ( } > {renderAIButton && ( <> {t('toolbar_insert_math_lowercase')} { writefullInstance?.openEquationGenerator() }} > {t('generate_from_text_or_image')} )} { emitToolbarEvent(view, 'toolbar-inline-math') event.preventDefault() wrapInInlineMath(view) view.focus() }} > {t('inline')} { emitToolbarEvent(view, 'toolbar-display-math') event.preventDefault() wrapInDisplayMath(view) view.focus() }} > {t('display')} ) })