import React, { Suspense } from 'react'; import { useParams } from 'react-router-dom'; import { Loader, Center, Text, Stack, Alert } from '@mantine/core'; import { IconAlertCircle } from '@tabler/icons-react'; import Breadcrumbs from './Breadcrumbs'; const DemoApp = React.lazy(() => import('demo/App')); const KMSApp = React.lazy(() => import('kms/App')); const AppLoader: React.FC = () => { const { appName } = useParams<{ appName: string }>(); const LoadingFallback = () => (
Loading {appName}...
); const ErrorFallback = ({ error }: { error: string }) => ( } title="Failed to load application" color="red" variant="light" > {error} ); const renderApp = () => { switch (appName) { case 'demo': return ( }> ); case 'kms': return ( }> ); default: return ( ); } }; return ( {renderApp()} ); }; export default AppLoader;