Skip to content

Commit d20c254

Browse files
committed
feat(web): use code splitting
1 parent 8496bbc commit d20c254

File tree

1 file changed

+57
-14
lines changed

1 file changed

+57
-14
lines changed

web/src/app.tsx

Lines changed: 57 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import React, { lazy, Suspense } from "react";
22
import { Route } from "react-router-dom";
33
import { SentryRoutes } from "./utils/sentry";
44
import "react-loading-skeleton/dist/skeleton.css";
@@ -8,14 +8,15 @@ import IsListProvider from "context/IsListProvider";
88
import QueryClientProvider from "context/QueryClientProvider";
99
import StyledComponentsProvider from "context/StyledComponentsProvider";
1010
import RefetchOnBlock from "context/RefetchOnBlock";
11-
import Layout from "layout/index";
12-
import Home from "./pages/Home";
13-
import Cases from "./pages/Cases";
14-
import Dashboard from "./pages/Dashboard";
15-
import Courts from "./pages/Courts";
16-
import DisputeTemplateView from "./pages/DisputeTemplateView";
17-
import DisputeResolver from "./pages/Resolver";
1811
import { NewDisputeProvider } from "./context/NewDisputeContext";
12+
import Layout from "layout/index";
13+
14+
const Home = lazy(() => import("./pages/Home"));
15+
const Cases = lazy(() => import("./pages/Cases"));
16+
const Dashboard = lazy(() => import("./pages/Dashboard"));
17+
const Courts = lazy(() => import("./pages/Courts"));
18+
const DisputeTemplateView = lazy(() => import("./pages/DisputeTemplateView"));
19+
const DisputeResolver = lazy(() => import("./pages/Resolver"));
1920

2021
const App: React.FC = () => {
2122
return (
@@ -27,12 +28,54 @@ const App: React.FC = () => {
2728
<NewDisputeProvider>
2829
<SentryRoutes>
2930
<Route path="/" element={<Layout />}>
30-
<Route index element={<Home />} />
31-
<Route path="cases/*" element={<Cases />} />
32-
<Route path="courts/*" element={<Courts />} />
33-
<Route path="dashboard/:page/:order/:filter" element={<Dashboard />} />
34-
<Route path="disputeTemplate" element={<DisputeTemplateView />} />
35-
<Route path="resolver/*" element={<DisputeResolver />} />
31+
<Route
32+
index
33+
element={
34+
<Suspense>
35+
<Home />
36+
</Suspense>
37+
}
38+
/>
39+
<Route
40+
path="cases/*"
41+
element={
42+
<Suspense>
43+
<Cases />
44+
</Suspense>
45+
}
46+
/>
47+
<Route
48+
path="courts/*"
49+
element={
50+
<Suspense>
51+
<Courts />
52+
</Suspense>
53+
}
54+
/>
55+
<Route
56+
path="dashboard/:page/:order/:filter"
57+
element={
58+
<Suspense>
59+
<Dashboard />
60+
</Suspense>
61+
}
62+
/>
63+
<Route
64+
path="disputeTemplate"
65+
element={
66+
<Suspense>
67+
<DisputeTemplateView />
68+
</Suspense>
69+
}
70+
/>
71+
<Route
72+
path="resolver/*"
73+
element={
74+
<Suspense>
75+
<DisputeResolver />
76+
</Suspense>
77+
}
78+
/>
3679
<Route path="*" element={<h1>Justice not found here ¯\_( ͡° ͜ʖ ͡°)_/¯</h1>} />
3780
</Route>
3881
</SentryRoutes>

0 commit comments

Comments
 (0)