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 && ( )}
); }; export default ActionRequiredRoute;