import { openModal } from '@mantine/modals';
import { useTranslation } from 'react-i18next';
import { Navigate } from 'react-router-dom';
import { PageHeader } from '/@/renderer/components/page-header/page-header';
import { ActionRequiredContainer } from '/@/renderer/features/action-required/components/action-required-container';
import { ServerCredentialRequired } from '/@/renderer/features/action-required/components/server-credential-required';
import { ServerRequired } from '/@/renderer/features/action-required/components/server-required';
import { ServerList } from '/@/renderer/features/servers';
import { AnimatedPage } from '/@/renderer/features/shared';
import { AppRoute } from '/@/renderer/router/routes';
import { useCurrentServer } from '/@/renderer/store';
import { Button } from '/@/shared/components/button/button';
import { Center } from '/@/shared/components/center/center';
import { Group } from '/@/shared/components/group/group';
import { Icon } from '/@/shared/components/icon/icon';
import { Stack } from '/@/shared/components/stack/stack';
const ActionRequiredRoute = () => {
const { t } = useTranslation();
const currentServer = useCurrentServer();
const isServerRequired = !currentServer;
const isCredentialRequired = currentServer && !currentServer.credential;
const checks = [
{
component: ,
title: t('error.credentialsRequired', { postProcess: 'sentenceCase' }),
valid: !isCredentialRequired,
},
{
component: ,
title: t('error.serverRequired', { postProcess: 'serverRequired' }),
valid: !isServerRequired,
},
];
const canReturnHome = checks.every((c) => c.valid);
const displayedCheck = checks.find((c) => !c.valid);
const handleManageServersModal = () => {
openModal({
children: ,
title: t('page.appMenu.manageServers', { postProcess: 'sentenceCase' }),
});
};
return (
{displayedCheck && (
{displayedCheck?.component}
)}
{canReturnHome && }
{/* This should be displayed if a credential is required */}
{isCredentialRequired && (
}
onClick={handleManageServersModal}
variant="filled"
>
{t('page.appMenu.manageServers', {
postProcess: 'sentenceCase',
})}
)}
);
};
export default ActionRequiredRoute;