feat: add database indexes, implement CORS configuration, and lazy-load frontend routes
Build and Push Multi-Platform Images / build-and-push (push) Successful in 35s
Build and Push Multi-Platform Images / build-and-push (push) Successful in 35s
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { lazy, Suspense } from 'react';
|
||||
import { BrowserRouter, Routes, Route, Navigate, useNavigate, useLocation } from 'react-router-dom';
|
||||
import { ConfigProvider, theme, App as AntdApp } from 'antd';
|
||||
import deDE from 'antd/locale/de_DE';
|
||||
@@ -6,18 +7,19 @@ import { saveReturnUrl } from './auth/sessionRedirect';
|
||||
import { ThemeProvider, useTheme } from './theme/ThemeContext';
|
||||
import AuthCallback from './auth/AuthCallback';
|
||||
import AppLayout from './layouts/AppLayout';
|
||||
import InboxPage from './pages/InboxPage';
|
||||
import InboxDetailPage from './pages/InboxDetailPage';
|
||||
import PosteingangPage from './pages/PosteingangPage';
|
||||
import ManuellBearbeitenPage from './pages/ManuellBearbeitenPage';
|
||||
import MailpostfachPage from './pages/MailpostfachPage';
|
||||
import MailDetailPage from './pages/MailDetailPage';
|
||||
import SettingsPage from './pages/SettingsPage';
|
||||
import UserSettingsPage from './pages/UserSettingsPage';
|
||||
import LoginPage from './pages/LoginPage';
|
||||
import DashboardPage from './pages/DashboardPage';
|
||||
import { Spin, Result, Button } from 'antd';
|
||||
import type { ReactNode } from 'react';
|
||||
|
||||
const InboxPage = lazy(() => import('./pages/InboxPage'));
|
||||
const InboxDetailPage = lazy(() => import('./pages/InboxDetailPage'));
|
||||
const PosteingangPage = lazy(() => import('./pages/PosteingangPage'));
|
||||
const ManuellBearbeitenPage = lazy(() => import('./pages/ManuellBearbeitenPage'));
|
||||
const MailpostfachPage = lazy(() => import('./pages/MailpostfachPage'));
|
||||
const MailDetailPage = lazy(() => import('./pages/MailDetailPage'));
|
||||
const SettingsPage = lazy(() => import('./pages/SettingsPage'));
|
||||
const UserSettingsPage = lazy(() => import('./pages/UserSettingsPage'));
|
||||
const LoginPage = lazy(() => import('./pages/LoginPage'));
|
||||
const DashboardPage = lazy(() => import('./pages/DashboardPage'));
|
||||
import { Permission } from './auth/permissions';
|
||||
|
||||
function UnauthorizedPage() {
|
||||
@@ -109,28 +111,30 @@ function ThemedApp() {
|
||||
<AuthProvider>
|
||||
<AntdApp>
|
||||
<BrowserRouter>
|
||||
<Routes>
|
||||
<Route path="/login" element={<LoginPage />} />
|
||||
<Route path="/auth/callback" element={<AuthCallback />} />
|
||||
<Route
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<AppLayout />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
>
|
||||
<Route index element={<DashboardPage />} />
|
||||
<Route path="/dashboard" element={<DashboardPage />} />
|
||||
<Route path="/inbox" element={<PermissionRoute permission={Permission.VIEW_SCANNER}><InboxPage /></PermissionRoute>} />
|
||||
<Route path="/inbox/:id" element={<PermissionRoute permission={Permission.VIEW_SCANNER}><InboxDetailPage /></PermissionRoute>} />
|
||||
<Route path="/posteingang" element={<PermissionRoute permission={Permission.VIEW_INBOX}><PosteingangPage /></PermissionRoute>} />
|
||||
<Route path="/manuell" element={<PermissionRoute permission={Permission.PROCESS_MANUALLY}><ManuellBearbeitenPage /></PermissionRoute>} />
|
||||
<Route path="/mailpostfach" element={<PermissionRoute permission={Permission.VIEW_MAIL}><MailpostfachPage /></PermissionRoute>} />
|
||||
<Route path="/mailpostfach/:id" element={<PermissionRoute permission={Permission.VIEW_MAIL}><MailDetailPage /></PermissionRoute>} />
|
||||
<Route path="/settings" element={<PermissionRoute permission={Permission.MANAGE_SETTINGS}><SettingsPage /></PermissionRoute>} />
|
||||
<Route path="/user-settings" element={<UserSettingsPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
<Suspense fallback={<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh' }}><Spin size="large" /></div>}>
|
||||
<Routes>
|
||||
<Route path="/login" element={<LoginPage />} />
|
||||
<Route path="/auth/callback" element={<AuthCallback />} />
|
||||
<Route
|
||||
element={
|
||||
<ProtectedRoute>
|
||||
<AppLayout />
|
||||
</ProtectedRoute>
|
||||
}
|
||||
>
|
||||
<Route index element={<DashboardPage />} />
|
||||
<Route path="/dashboard" element={<DashboardPage />} />
|
||||
<Route path="/inbox" element={<PermissionRoute permission={Permission.VIEW_SCANNER}><InboxPage /></PermissionRoute>} />
|
||||
<Route path="/inbox/:id" element={<PermissionRoute permission={Permission.VIEW_SCANNER}><InboxDetailPage /></PermissionRoute>} />
|
||||
<Route path="/posteingang" element={<PermissionRoute permission={Permission.VIEW_INBOX}><PosteingangPage /></PermissionRoute>} />
|
||||
<Route path="/manuell" element={<PermissionRoute permission={Permission.PROCESS_MANUALLY}><ManuellBearbeitenPage /></PermissionRoute>} />
|
||||
<Route path="/mailpostfach" element={<PermissionRoute permission={Permission.VIEW_MAIL}><MailpostfachPage /></PermissionRoute>} />
|
||||
<Route path="/mailpostfach/:id" element={<PermissionRoute permission={Permission.VIEW_MAIL}><MailDetailPage /></PermissionRoute>} />
|
||||
<Route path="/settings" element={<PermissionRoute permission={Permission.MANAGE_SETTINGS}><SettingsPage /></PermissionRoute>} />
|
||||
<Route path="/user-settings" element={<UserSettingsPage />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
</Suspense>
|
||||
</BrowserRouter>
|
||||
</AntdApp>
|
||||
</AuthProvider>
|
||||
|
||||
Reference in New Issue
Block a user