1- import React from "react" ;
1+ import React , { lazy , Suspense } from "react" ;
22import { Route } from "react-router-dom" ;
33import { SentryRoutes } from "./utils/sentry" ;
44import "react-loading-skeleton/dist/skeleton.css" ;
@@ -8,14 +8,15 @@ import IsListProvider from "context/IsListProvider";
88import QueryClientProvider from "context/QueryClientProvider" ;
99import StyledComponentsProvider from "context/StyledComponentsProvider" ;
1010import 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" ;
1811import { 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
2021const 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