import { useTranslation } from 'react-i18next' import FileTreeCreateNewDoc from './modes/file-tree-create-new-doc' import FileTreeImportFromUrl from './modes/file-tree-import-from-url' import FileTreeImportFromProject from './modes/file-tree-import-from-project' import FileTreeModalCreateFileMode from './file-tree-modal-create-file-mode' import FileTreeCreateNameProvider from '../../contexts/file-tree-create-name' import { useFileTreeActionable } from '../../contexts/file-tree-actionable' import { useFileTreeData } from '../../../../shared/context/file-tree-data-context' import importOverleafModules from '../../../../../macros/import-overleaf-module.macro' import { ElementType, lazy, Suspense } from 'react' import { FullSizeLoadingSpinner } from '@/shared/components/loading-spinner' import getMeta from '@/utils/meta' import Notification from '@/shared/components/notification' const allCreateFileModeModules = importOverleafModules('createFileModes') as { import: { CreateFilePane: ElementType; CreateFileMode: ElementType } path: string }[] const createFileModeModules = allCreateFileModeModules.filter( ({ path }) => (getMeta('ol-ExposedSettings').zoteroEnabled || !path.includes('zotero-create-file')) ) const FileTreeUploadDoc = lazy(() => import('./modes/file-tree-upload-doc')) export default function FileTreeModalCreateFileBody() { const { t } = useTranslation() const { newFileCreateMode } = useFileTreeActionable() const { fileCount } = useFileTreeData() const { hasLinkedProjectFileFeature, hasLinkedProjectOutputFileFeature, hasLinkUrlFeature, } = getMeta('ol-ExposedSettings') if (typeof fileCount !== 'number' && fileCount.status === 'error') { return (
|
|
{typeof fileCount !== 'number' &&
fileCount.status === 'warning' && (
|