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')}
)}
>
);
}