import { useTranslation } from 'react-i18next'; import { Alert, LinearProgress, Snackbar, Typography } from '@mui/material'; import { CloseButton, ReportErrorFabButton, WikiLocation } from './FormComponents'; import { useExistedWiki, useValidateExistedWiki } from './useExistedWiki'; import type { IWikiWorkspaceFormProps } from './useForm'; import { useWikiCreationProgress } from './useIndicator'; export function ExistedWikiDoneButton({ form, isCreateMainWorkspace, isCreateSyncedWorkspace, errorInWhichComponentSetter, }: IWikiWorkspaceFormProps & { isCreateMainWorkspace: boolean; isCreateSyncedWorkspace: boolean }): React.JSX.Element { const { t } = useTranslation(); const [hasError, wikiCreationMessage, wikiCreationMessageSetter, hasErrorSetter] = useValidateExistedWiki( isCreateMainWorkspace, isCreateSyncedWorkspace, form, errorInWhichComponentSetter, ); const onSubmit = useExistedWiki(isCreateMainWorkspace, isCreateSyncedWorkspace, form, wikiCreationMessageSetter, hasErrorSetter, errorInWhichComponentSetter); const [logPanelOpened, logPanelSetter, inProgressOrError] = useWikiCreationProgress(wikiCreationMessageSetter, wikiCreationMessage, hasError); if (hasError) { return ( <> {wikiCreationMessage} {wikiCreationMessage !== undefined && } ); } return ( <> {inProgressOrError && } { logPanelSetter(false); }} > {wikiCreationMessage} {isCreateMainWorkspace ? ( {t('AddWorkspace.ImportWiki')} {form.wikiFolderLocation} ) : ( {t('AddWorkspace.ImportWiki')} {form.wikiFolderLocation} {t('AddWorkspace.AndLinkToMainWorkspace')} )} ); }