import { useCallback, useState } from 'react' import { useTranslation } from 'react-i18next' import * as eventTracking from '../../../infrastructure/event-tracking' import getMeta from '../../../utils/meta' import OLTooltip from '@/features/ui/components/ol/ol-tooltip' import { useDetachCompileContext } from '../../../shared/context/detach-compile-context' import EditorManageTemplateModalWrapper from '../../template/components/manage-template-modal/editor-manage-template-modal-wrapper' import LeftMenuButton from './left-menu-button' type TemplateManageResponse = { template_id: string } export default function ActionsManageTemplate() { const templatesAdmin = getMeta('ol-showTemplatesServerPro') if (!templatesAdmin) { return null } const [showModal, setShowModal] = useState(false) const { pdfFile } = useDetachCompileContext() const { t } = useTranslation() const handleShowModal = useCallback(() => { eventTracking.sendMB('left-menu-template') setShowModal(true) }, []) const openTemplate = useCallback( ({ template_id: templateId }: TemplateManageResponse) => { location.assign(`/template/${templateId}`) }, [location] ) return ( <> {pdfFile ? ( {t('publish_as_template')} ) : ( {/* OverlayTrigger won't fire unless the child is a non-react html element (e.g div, span) */}
{t('publish_as_template')}
)} setShowModal(false)} openTemplate={openTemplate} /> ) }