0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-20 21:32:31 -05:00

Merge pull request #1073 from logto-io/charles-log-2458-lazy-load-admin-console-routes

refactor(console): lazy loading admin console routes
This commit is contained in:
Charles Zhao 2022-06-07 22:43:36 +08:00 committed by GitHub
commit b0e5ad4632
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,34 +1,36 @@
import { LogtoProvider } from '@logto/react'; import { LogtoProvider } from '@logto/react';
import { adminConsoleApplicationId, managementResource } from '@logto/schemas/lib/seeds'; import { adminConsoleApplicationId, managementResource } from '@logto/schemas/lib/seeds';
import { getBasename } from '@logto/shared'; import { getBasename } from '@logto/shared';
import React from 'react'; import React, { Suspense } from 'react';
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'; import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import { SWRConfig } from 'swr'; import { SWRConfig } from 'swr';
import './scss/normalized.scss'; import './scss/normalized.scss';
// eslint-disable-next-line import/no-unassigned-import // eslint-disable-next-line import/no-unassigned-import
import '@fontsource/roboto-mono'; import '@fontsource/roboto-mono';
import AppBoundary from '@/components/AppBoundary';
import ErrorBoundary from '@/components/ErrorBoundary';
import LogtoLoading from '@/components/LogtoLoading';
import Toast from '@/components/Toast';
import useSwrOptions from '@/hooks/use-swr-options';
import initI18n from '@/i18n/init';
import AppBoundary from './components/AppBoundary'; const AppContent = React.lazy(async () => import('@/components/AppContent'));
import AppContent from './components/AppContent'; const ApiResourceDetails = React.lazy(async () => import('@/pages/ApiResourceDetails'));
import ErrorBoundary from './components/ErrorBoundary'; const ApiResources = React.lazy(async () => import('@/pages/ApiResources'));
import Toast from './components/Toast'; const ApplicationDetails = React.lazy(async () => import('@/pages/ApplicationDetails'));
import useSwrOptions from './hooks/use-swr-options'; const Applications = React.lazy(async () => import('@/pages/Applications'));
import initI18n from './i18n/init'; const AuditLogs = React.lazy(async () => import('@/pages/AuditLogs'));
import ApiResourceDetails from './pages/ApiResourceDetails'; const Callback = React.lazy(async () => import('@/pages/Callback'));
import ApiResources from './pages/ApiResources'; const ConnectorDetails = React.lazy(async () => import('@/pages/ConnectorDetails'));
import ApplicationDetails from './pages/ApplicationDetails'; const Connectors = React.lazy(async () => import('@/pages/Connectors'));
import Applications from './pages/Applications'; const Dashboard = React.lazy(async () => import('@/pages/Dashboard'));
import AuditLogs from './pages/AuditLogs'; const GetStarted = React.lazy(async () => import('@/pages/GetStarted'));
import Callback from './pages/Callback'; const NotFound = React.lazy(async () => import('@/pages/NotFound'));
import ConnectorDetails from './pages/ConnectorDetails'; const Settings = React.lazy(async () => import('@/pages/Settings'));
import Connectors from './pages/Connectors'; const SignInExperience = React.lazy(async () => import('@/pages/SignInExperience'));
import Dashboard from './pages/Dashboard'; const UserDetails = React.lazy(async () => import('@/pages/UserDetails'));
import GetStarted from './pages/GetStarted'; const Users = React.lazy(async () => import('@/pages/Users'));
import NotFound from './pages/NotFound';
import Settings from './pages/Settings';
import SignInExperience from './pages/SignInExperience';
import UserDetails from './pages/UserDetails';
import Users from './pages/Users';
void initI18n(); void initI18n();
@ -40,6 +42,7 @@ const Main = () => {
<SWRConfig value={swrOptions}> <SWRConfig value={swrOptions}>
<AppBoundary> <AppBoundary>
<Toast /> <Toast />
<Suspense fallback={<LogtoLoading message="general.loading" />}>
<Routes> <Routes>
<Route path="callback" element={<Callback />} /> <Route path="callback" element={<Callback />} />
<Route element={<AppContent />}> <Route element={<AppContent />}>
@ -77,6 +80,7 @@ const Main = () => {
<Route path="dashboard" element={<Dashboard />} /> <Route path="dashboard" element={<Dashboard />} />
</Route> </Route>
</Routes> </Routes>
</Suspense>
</AppBoundary> </AppBoundary>
</SWRConfig> </SWRConfig>
</ErrorBoundary> </ErrorBoundary>