diff --git a/services/clsi/app/js/ConversionController.js b/services/clsi/app/js/ConversionController.js index 5790c2764c..f1c69d7fae 100644 --- a/services/clsi/app/js/ConversionController.js +++ b/services/clsi/app/js/ConversionController.js @@ -25,6 +25,7 @@ const CONVERSION_CONFIGS = { docx: { extension: 'docx' }, markdown: { extension: 'zip' }, html: { extension: 'zip' }, + typst: { extension: 'typ' }, } async function convertDocumentToLaTeX(req, res) { @@ -34,7 +35,7 @@ async function convertDocumentToLaTeX(req, res) { await fs.unlink(path).catch(() => {}) return res.sendStatus(404) } - if (!conversionType || !['docx', 'markdown'].includes(conversionType)) { + if (!conversionType || !['docx', 'markdown', 'typst'].includes(conversionType)) { await fs.unlink(path).catch(() => {}) return res.sendStatus(400) } diff --git a/services/web/frontend/js/features/ide-react/components/toolbar/export-project-with-conversion-button.tsx b/services/web/frontend/js/features/ide-react/components/toolbar/export-project-with-conversion-button.tsx index 804cc4cbf7..d8aa288841 100644 --- a/services/web/frontend/js/features/ide-react/components/toolbar/export-project-with-conversion-button.tsx +++ b/services/web/frontend/js/features/ide-react/components/toolbar/export-project-with-conversion-button.tsx @@ -6,6 +6,7 @@ import { useCommandProvider } from '../../hooks/use-command-provider' import OLDropdownMenuItem from '@/shared/components/ol/ol-dropdown-menu-item' import { useRootDoc } from '@/shared/hooks/use-root-doc' import { useEditorManagerContext } from '@/features/ide-react/context/editor-manager-context' +import { useProjectSettingsContext } from '@/features/editor-left-menu/context/project-settings-context' type ExportProjectWithConversionProps = { featureFlag?: string @@ -22,6 +23,8 @@ export const ExportProjectWithConversionButton: FC< const enablePandocConversions = getMeta('ol-ExposedSettings')?.enablePandocConversions const anonymous = getMeta('ol-anonymous') + const { compiler } = useProjectSettingsContext() + const isLatexProject = !['typst', 'quarto'].includes(compiler ?? '') const getRootDocInfo = useRootDoc() const { openDocs } = useEditorManagerContext() const downloadConversion = useConvertProject( @@ -31,7 +34,10 @@ export const ExportProjectWithConversionButton: FC< ) const showExportButton = - splitTestEnabledIfNeeded && enablePandocConversions && !anonymous + splitTestEnabledIfNeeded && + enablePandocConversions && + !anonymous && + isLatexProject useCommandProvider( () => diff --git a/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx b/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx index 37c2309443..ccb44c0fba 100644 --- a/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx +++ b/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx @@ -171,19 +171,17 @@ const ProjectCard = memo(function ProjectCard({ {date} - - {/* Actions live outside .lumiere-card so Popper dropdowns are not - clipped by the card's backdrop-filter / transform context. */} -