import { openModal } from '@mantine/modals'; import { useTranslation } from 'react-i18next'; import { Navigate } from 'react-router'; 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 { isServerLock } from '/@/renderer/features/action-required/utils/window-properties'; import LoginRoute from '/@/renderer/features/login/routes/login-route'; import { ServerList } from '/@/renderer/features/servers/components/server-list'; import { AnimatedPage } from '/@/renderer/features/shared/components/animated-page'; import { PageErrorBoundary } from '/@/renderer/features/shared/components/page-error-boundary'; import { AppRoute } from '/@/renderer/router/routes'; import { useCurrentServerWithCredential } 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 { ScrollArea } from '/@/shared/components/scroll-area/scroll-area'; import { Stack } from '/@/shared/components/stack/stack'; const ActionRequiredRoute = () => { const { t } = useTranslation(); const currentServer = useCurrentServerWithCredential(); const isServerRequired = !currentServer; const isCredentialRequired = currentServer && !currentServer.credential; const isLoginRequired = isServerLock() && !currentServer; const checks = [ { component: , title: t('error.credentialsRequired'), valid: !isCredentialRequired, }, { component: , title: t('error.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'), }); }; if (isLoginRequired) { return ; } return (
{displayedCheck && ( {displayedCheck?.component} )} {canReturnHome && } {/* This should be displayed if a credential is required */} {isCredentialRequired && !isServerLock && ( )}
); }; const ActionRequiredRouteWithBoundary = () => { return ( ); }; export default ActionRequiredRouteWithBoundary;