import { Alert, LinearProgress, Snackbar, Typography } from '@mui/material'; import { useTranslation } from 'react-i18next'; import { CloseButton, ReportErrorFabButton, WikiLocation } from './FormComponents'; import type { IWikiWorkspaceFormProps } from './useForm'; import { useWikiCreationProgress } from './useIndicator'; import { useNewWiki, useValidateNewWiki } from './useNewWiki'; export function NewWikiDoneButton({ form, isCreateMainWorkspace, isCreateSyncedWorkspace, errorInWhichComponentSetter, }: IWikiWorkspaceFormProps & { isCreateMainWorkspace: boolean; isCreateSyncedWorkspace: boolean }): React.JSX.Element { const { t } = useTranslation(); const [hasError, wikiCreationMessage, wikiCreationMessageSetter, hasErrorSetter] = useValidateNewWiki( isCreateMainWorkspace, isCreateSyncedWorkspace, form, errorInWhichComponentSetter, ); const onSubmit = useNewWiki(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.CreateWiki')} {form.wikiFolderLocation} ) : ( {t('AddWorkspace.CreateWiki')} {form.wikiFolderLocation} {t('AddWorkspace.AndLinkToMainWorkspace')} )} ); }