Skip to content

Commit b6bb19f

Browse files
committed
Refactor route definitions into modular route files
Moved route definitions for integration, LLM, logging, SE, SN, store, and token modules into separate files under src/app/routes. Updated App.tsx to import and use these modular route components, improving maintainability and readability of the routing logic.
1 parent 8c4c9cb commit b6bb19f

File tree

9 files changed

+175
-122
lines changed

9 files changed

+175
-122
lines changed

turing-react/src/App.tsx

Lines changed: 19 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,19 @@
1-
import { Navigate, Route, Routes, useParams } from "react-router-dom"
1+
import { Navigate, Route, Routes } from "react-router-dom"
22
import ConsoleRootPage from "./app/console/console.root.page"
3-
import IntegrationInstanceDetailPage from "./app/console/integration/integration.instance.detail.page"
4-
import IntegrationInstanceIndexingRulePage from "./app/console/integration/integration.instance.indexing.rule.page"
5-
import IntegrationInstanceListPage from "./app/console/integration/integration.instance.list.page"
6-
import IntegrationInstanceMonitoringPage from "./app/console/integration/integration.instance.monitoring.page"
7-
import IntegrationInstancePage from "./app/console/integration/integration.instance.page"
8-
import IntegrationInstanceRootPage from "./app/console/integration/integration.instance.root.page"
9-
import IntegrationInstanceSourceListPage from "./app/console/integration/integration.instance.source.list.page"
10-
import IntegrationInstanceSourcePage from "./app/console/integration/integration.instance.source.page"
11-
import LLMInstanceListPage from "./app/console/llm/llm.instance.list.page"
12-
import LLMInstancePage from "./app/console/llm/llm.instance.page"
13-
import LLMInstanceRootPage from "./app/console/llm/llm.instance.root.page"
14-
import LoggingAemPage from "./app/console/logging/instance/logging.aem.page"
15-
import LoggingIndexingPage from "./app/console/logging/instance/logging.indexing.page"
16-
import LoggingServerPage from "./app/console/logging/instance/logging.server.page"
17-
import LoggingInstanceListPage from "./app/console/logging/logging.instance.list.page"
18-
import LoggingInstanceRootPage from "./app/console/logging/logging.instance.root.page"
19-
import SEInstanceListPage from "./app/console/se/se.instance.list.page"
20-
import SEInstancePage from "./app/console/se/se.instance.page"
21-
import SEInstanceRootPage from "./app/console/se/se.instance.root.page"
22-
import SNSiteBehaviorPage from "./app/console/sn/sn.site.behavior.page"
23-
import SNSiteDetailPage from "./app/console/sn/sn.site.detail.page"
24-
import SNSiteFacetOrderingPage from "./app/console/sn/sn.site.facets.ordering.page"
25-
import SNSiteFieldPage from "./app/console/sn/sn.site.field.page"
26-
import SNSiteFieldsPage from "./app/console/sn/sn.site.fields.page"
27-
import SNSiteGenAIPage from "./app/console/sn/sn.site.genai.page"
28-
import SNSiteListPage from "./app/console/sn/sn.site.list.page"
29-
import SNSiteMergeProvidersListPage from "./app/console/sn/sn.site.merge.providers.list.page"
30-
import SNSiteMergeProvidersPage from "./app/console/sn/sn.site.merge.providers.page"
31-
import SNSiteMultiLanguagePage from "./app/console/sn/sn.site.multi.language.page"
32-
import SNSitePage from "./app/console/sn/sn.site.page"
33-
import SNSiteResultRankingListPage from "./app/console/sn/sn.site.result.ranking.list.page"
34-
import SNSiteResultRankingPage from "./app/console/sn/sn.site.result.ranking.page"
35-
import SNSiteRootPage from "./app/console/sn/sn.site.root.page"
36-
import SNSiteSpotlightListPage from "./app/console/sn/sn.site.spotlight.list.page"
37-
import SNSiteSpotlightPage from "./app/console/sn/sn.site.spotlight.page"
38-
import SNSiteTopSearchTermsPage from "./app/console/sn/sn.site.top.search.terms.page"
39-
import StoreInstanceListPage from "./app/console/store/store.instance.list.page"
40-
import StoreInstancePage from "./app/console/store/store.instance.page"
41-
import StoreInstanceRootPage from "./app/console/store/store.instance.root.page"
42-
import TokenInstanceListPage from "./app/console/token/token.instance.list.page"
43-
import TokenInstancePage from "./app/console/token/token.instance.page"
44-
import TokenInstanceRootPage from "./app/console/token/token.instance.root.page"
453
import LoginPage from "./app/login/login.page"
4+
import {
5+
IntegrationRoutes,
6+
LLMRoutes,
7+
LoggingRoutes,
8+
SERoutes,
9+
SNRoutes,
10+
StoreRoutes,
11+
TokenRoutes
12+
} from "./app/routes"
4613
import { ROUTES } from "./app/routes.const"
4714
import { ThemeProvider } from "./components/theme-provider"
4815
import { Toaster } from "./components/ui/sonner"
4916

50-
51-
52-
function RedirectToSNDetail() {
53-
const { id } = useParams();
54-
return <Navigate to={`${ROUTES.SN_INSTANCE}/${id}/detail`} replace />;
55-
}
56-
57-
function RedirectToIntegrationDetail() {
58-
const { id } = useParams();
59-
return <Navigate to={`${ROUTES.INTEGRATION_INSTANCE}/${id}/detail`} replace />;
60-
}
61-
62-
63-
6417
function App() {
6518
return (
6619
<div className="App">
@@ -69,75 +22,19 @@ function App() {
6922
<Routes>
7023
<Route path={ROUTES.ROOT} element={<Navigate to={ROUTES.CONSOLE} replace />} />
7124
<Route path={ROUTES.LOGIN} element={<LoginPage />} />
72-
<Route path={ROUTES.CONSOLE} element={<ConsoleRootPage />} >
25+
<Route path={ROUTES.CONSOLE} element={<ConsoleRootPage />}>
7326
<Route index element={<Navigate to={ROUTES.SN_INSTANCE} replace />} />
74-
<Route path={ROUTES.SE_ROOT} element={<SEInstanceRootPage />} >
75-
<Route path={ROUTES.SE_INSTANCE} element={<SEInstanceListPage />} />
76-
<Route path={`${ROUTES.SE_INSTANCE}/:id`} element={<SEInstancePage />} />
77-
</Route>
78-
<Route path={ROUTES.SN_ROOT} element={<SNSiteRootPage />} >
79-
<Route index element={<Navigate to={ROUTES.SN_INSTANCE} replace />} />
80-
<Route path={ROUTES.SN_INSTANCE} element={<SNSiteListPage />} />
81-
<Route path={`${ROUTES.SN_INSTANCE}/:id`} element={<SNSitePage />} >
82-
<Route index element={<RedirectToSNDetail />} />
83-
<Route path={`${ROUTES.SN_INSTANCE}/:id/detail`} element={<SNSiteDetailPage />} />
84-
<Route path={`${ROUTES.SN_INSTANCE}/:id/locale`} element={<SNSiteMultiLanguagePage />} />
85-
<Route path={`${ROUTES.SN_INSTANCE}/:id/field`} element={<SNSiteFieldsPage />} />
86-
<Route path={`${ROUTES.SN_INSTANCE}/:id/behavior`} element={<SNSiteBehaviorPage />} />
87-
<Route path={`${ROUTES.SN_INSTANCE}/:id/facet-ordering`} element={<SNSiteFacetOrderingPage />} />
88-
<Route path={`${ROUTES.SN_INSTANCE}/:id/ai`} element={<SNSiteGenAIPage />} />
89-
<Route path={`${ROUTES.SN_INSTANCE}/:id/result-ranking`} element={<SNSiteResultRankingListPage />} />
90-
<Route path={`${ROUTES.SN_INSTANCE}/:id/merge-providers`} element={<SNSiteMergeProvidersListPage />} />
91-
<Route path={`${ROUTES.SN_INSTANCE}/:id/spotlight`} element={<SNSiteSpotlightListPage />} />
92-
<Route path={`${ROUTES.SN_INSTANCE}/:id/top-terms`} element={<SNSiteTopSearchTermsPage />} />
93-
<Route path={`${ROUTES.SN_INSTANCE}/:id/field/:fieldId`} element={<SNSiteFieldPage />} />
94-
<Route path={`${ROUTES.SN_INSTANCE}/:id/result-ranking/:resultRankingId`} element={<SNSiteResultRankingPage />} />
95-
<Route path={`${ROUTES.SN_INSTANCE}/:id/merge-providers/:mergeProviderId`} element={<SNSiteMergeProvidersPage />} />
96-
<Route path={`${ROUTES.SN_INSTANCE}/:id/spotlight/:spotlightId`} element={<SNSiteSpotlightPage />} />
97-
</Route>
98-
99-
</Route>
100-
<Route path={ROUTES.STORE_ROOT} element={<StoreInstanceRootPage />} >
101-
<Route index element={<Navigate to={ROUTES.STORE_INSTANCE} replace />} />
102-
<Route path={ROUTES.STORE_INSTANCE} element={<StoreInstanceListPage />} />
103-
<Route path={`${ROUTES.STORE_INSTANCE}/:id`} element={<StoreInstancePage />} />
104-
</Route>
105-
<Route path={ROUTES.TOKEN_ROOT} element={<TokenInstanceRootPage />} >
106-
<Route index element={<Navigate to={ROUTES.TOKEN_INSTANCE} replace />} />
107-
<Route path={ROUTES.TOKEN_INSTANCE} element={<TokenInstanceListPage />} />
108-
<Route path={`${ROUTES.TOKEN_INSTANCE}/:id`} element={<TokenInstancePage />} />
109-
</Route>
110-
<Route path={ROUTES.LLM_ROOT} element={<LLMInstanceRootPage />} >
111-
<Route index element={<Navigate to={ROUTES.LLM_INSTANCE} replace />} />
112-
<Route path={ROUTES.LLM_INSTANCE} element={<LLMInstanceListPage />} />
113-
<Route path={`${ROUTES.LLM_INSTANCE}/:id`} element={<LLMInstancePage />} />
114-
</Route>
115-
<Route path={ROUTES.INTEGRATION_ROOT} element={<IntegrationInstanceRootPage />} >
116-
<Route index element={<Navigate to={ROUTES.INTEGRATION_INSTANCE} replace />} />
117-
<Route path={ROUTES.INTEGRATION_INSTANCE} element={<IntegrationInstanceListPage />} />
118-
<Route path={`${ROUTES.INTEGRATION_INSTANCE}/:id`} element={<IntegrationInstancePage />} >
119-
<Route index element={<RedirectToIntegrationDetail />} />
120-
<Route path="detail" element={<IntegrationInstanceDetailPage />} />
121-
<Route path="source" element={<IntegrationInstanceSourceListPage />} />
122-
<Route path={'source/:sourceId'} element={<IntegrationInstanceSourcePage />} />
123-
<Route path="indexing-rule" element={<IntegrationInstanceIndexingRulePage />} />
124-
<Route path="monitoring" >
125-
<Route index element={<Navigate to="all" replace />} />
126-
<Route path=":source" element={<IntegrationInstanceMonitoringPage />} />
127-
</Route>
128-
</Route>
129-
</Route>
130-
<Route path={ROUTES.LOGGING_ROOT} element={<LoggingInstanceRootPage />} >
131-
<Route index element={<Navigate to={ROUTES.LOGGING_INSTANCE} replace />} />
132-
<Route path={ROUTES.LOGGING_INSTANCE} element={<LoggingInstanceListPage />} />
133-
<Route path={`${ROUTES.LOGGING_INSTANCE}/server`} element={<LoggingServerPage />} />
134-
<Route path={`${ROUTES.LOGGING_INSTANCE}/aem`} element={<LoggingAemPage />} />
135-
<Route path={`${ROUTES.LOGGING_INSTANCE}/indexing`} element={<LoggingIndexingPage />} />
136-
</Route>
27+
{SERoutes}
28+
{SNRoutes}
29+
{StoreRoutes}
30+
{TokenRoutes}
31+
{LLMRoutes}
32+
{IntegrationRoutes}
33+
{LoggingRoutes}
13734
</Route>
13835
</Routes>
13936
</ThemeProvider>
140-
</div >
37+
</div>
14138
)
14239
}
14340

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export { IntegrationRoutes } from "./integration.routes";
2+
export { LLMRoutes } from "./llm.routes";
3+
export { LoggingRoutes } from "./logging.routes";
4+
export { SERoutes } from "./se.routes";
5+
export { SNRoutes } from "./sn.routes";
6+
export { StoreRoutes } from "./store.routes";
7+
export { TokenRoutes } from "./token.routes";
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { Navigate, Route, useParams } from "react-router-dom"
2+
import IntegrationInstanceDetailPage from "../console/integration/integration.instance.detail.page"
3+
import IntegrationInstanceIndexingRulePage from "../console/integration/integration.instance.indexing.rule.page"
4+
import IntegrationInstanceListPage from "../console/integration/integration.instance.list.page"
5+
import IntegrationInstanceMonitoringPage from "../console/integration/integration.instance.monitoring.page"
6+
import IntegrationInstancePage from "../console/integration/integration.instance.page"
7+
import IntegrationInstanceRootPage from "../console/integration/integration.instance.root.page"
8+
import IntegrationInstanceSourceListPage from "../console/integration/integration.instance.source.list.page"
9+
import IntegrationInstanceSourcePage from "../console/integration/integration.instance.source.page"
10+
import { ROUTES } from "../routes.const"
11+
12+
function RedirectToIntegrationDetail() {
13+
const { id } = useParams();
14+
return <Navigate to={`${ROUTES.INTEGRATION_INSTANCE}/${id}/detail`} replace />;
15+
}
16+
17+
export const IntegrationRoutes = (
18+
<Route path={ROUTES.INTEGRATION_ROOT} element={<IntegrationInstanceRootPage />}>
19+
<Route index element={<Navigate to={ROUTES.INTEGRATION_INSTANCE} replace />} />
20+
<Route path={ROUTES.INTEGRATION_INSTANCE} element={<IntegrationInstanceListPage />} />
21+
<Route path={`${ROUTES.INTEGRATION_INSTANCE}/:id`} element={<IntegrationInstancePage />}>
22+
<Route index element={<RedirectToIntegrationDetail />} />
23+
<Route path="detail" element={<IntegrationInstanceDetailPage />} />
24+
<Route path="source" element={<IntegrationInstanceSourceListPage />} />
25+
<Route path="source/:sourceId" element={<IntegrationInstanceSourcePage />} />
26+
<Route path="indexing-rule" element={<IntegrationInstanceIndexingRulePage />} />
27+
<Route path="monitoring">
28+
<Route index element={<Navigate to="all" replace />} />
29+
<Route path=":source" element={<IntegrationInstanceMonitoringPage />} />
30+
</Route>
31+
</Route>
32+
</Route>
33+
)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { Navigate, Route } from "react-router-dom"
2+
import LLMInstanceListPage from "../console/llm/llm.instance.list.page"
3+
import LLMInstancePage from "../console/llm/llm.instance.page"
4+
import LLMInstanceRootPage from "../console/llm/llm.instance.root.page"
5+
import { ROUTES } from "../routes.const"
6+
7+
export const LLMRoutes = (
8+
<Route path={ROUTES.LLM_ROOT} element={<LLMInstanceRootPage />}>
9+
<Route index element={<Navigate to={ROUTES.LLM_INSTANCE} replace />} />
10+
<Route path={ROUTES.LLM_INSTANCE} element={<LLMInstanceListPage />} />
11+
<Route path={`${ROUTES.LLM_INSTANCE}/:id`} element={<LLMInstancePage />} />
12+
</Route>
13+
)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Navigate, Route } from "react-router-dom"
2+
import LoggingAemPage from "../console/logging/instance/logging.aem.page"
3+
import LoggingIndexingPage from "../console/logging/instance/logging.indexing.page"
4+
import LoggingServerPage from "../console/logging/instance/logging.server.page"
5+
import LoggingInstanceListPage from "../console/logging/logging.instance.list.page"
6+
import LoggingInstanceRootPage from "../console/logging/logging.instance.root.page"
7+
import { ROUTES } from "../routes.const"
8+
9+
export const LoggingRoutes = (
10+
<Route path={ROUTES.LOGGING_ROOT} element={<LoggingInstanceRootPage />}>
11+
<Route index element={<Navigate to={ROUTES.LOGGING_INSTANCE} replace />} />
12+
<Route path={ROUTES.LOGGING_INSTANCE} element={<LoggingInstanceListPage />} />
13+
<Route path={`${ROUTES.LOGGING_INSTANCE}/server`} element={<LoggingServerPage />} />
14+
<Route path={`${ROUTES.LOGGING_INSTANCE}/aem`} element={<LoggingAemPage />} />
15+
<Route path={`${ROUTES.LOGGING_INSTANCE}/indexing`} element={<LoggingIndexingPage />} />
16+
</Route>
17+
)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { Route } from "react-router-dom"
2+
import SEInstanceListPage from "../console/se/se.instance.list.page"
3+
import SEInstancePage from "../console/se/se.instance.page"
4+
import SEInstanceRootPage from "../console/se/se.instance.root.page"
5+
import { ROUTES } from "../routes.const"
6+
7+
export const SERoutes = (
8+
<Route path={ROUTES.SE_ROOT} element={<SEInstanceRootPage />}>
9+
<Route path={ROUTES.SE_INSTANCE} element={<SEInstanceListPage />} />
10+
<Route path={`${ROUTES.SE_INSTANCE}/:id`} element={<SEInstancePage />} />
11+
</Route>
12+
)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import { Navigate, Route, useParams } from "react-router-dom"
2+
import SNSiteBehaviorPage from "../console/sn/sn.site.behavior.page"
3+
import SNSiteDetailPage from "../console/sn/sn.site.detail.page"
4+
import SNSiteFacetOrderingPage from "../console/sn/sn.site.facets.ordering.page"
5+
import SNSiteFieldPage from "../console/sn/sn.site.field.page"
6+
import SNSiteFieldsPage from "../console/sn/sn.site.fields.page"
7+
import SNSiteGenAIPage from "../console/sn/sn.site.genai.page"
8+
import SNSiteListPage from "../console/sn/sn.site.list.page"
9+
import SNSiteMergeProvidersListPage from "../console/sn/sn.site.merge.providers.list.page"
10+
import SNSiteMergeProvidersPage from "../console/sn/sn.site.merge.providers.page"
11+
import SNSiteMultiLanguagePage from "../console/sn/sn.site.multi.language.page"
12+
import SNSitePage from "../console/sn/sn.site.page"
13+
import SNSiteResultRankingListPage from "../console/sn/sn.site.result.ranking.list.page"
14+
import SNSiteResultRankingPage from "../console/sn/sn.site.result.ranking.page"
15+
import SNSiteRootPage from "../console/sn/sn.site.root.page"
16+
import SNSiteSpotlightListPage from "../console/sn/sn.site.spotlight.list.page"
17+
import SNSiteSpotlightPage from "../console/sn/sn.site.spotlight.page"
18+
import SNSiteTopSearchTermsPage from "../console/sn/sn.site.top.search.terms.page"
19+
import { ROUTES } from "../routes.const"
20+
21+
function RedirectToSNDetail() {
22+
const { id } = useParams();
23+
return <Navigate to={`${ROUTES.SN_INSTANCE}/${id}/detail`} replace />;
24+
}
25+
26+
export const SNRoutes = (
27+
<Route path={ROUTES.SN_ROOT} element={<SNSiteRootPage />}>
28+
<Route index element={<Navigate to={ROUTES.SN_INSTANCE} replace />} />
29+
<Route path={ROUTES.SN_INSTANCE} element={<SNSiteListPage />} />
30+
<Route path={`${ROUTES.SN_INSTANCE}/:id`} element={<SNSitePage />}>
31+
<Route index element={<RedirectToSNDetail />} />
32+
<Route path={`${ROUTES.SN_INSTANCE}/:id/detail`} element={<SNSiteDetailPage />} />
33+
<Route path={`${ROUTES.SN_INSTANCE}/:id/locale`} element={<SNSiteMultiLanguagePage />} />
34+
<Route path={`${ROUTES.SN_INSTANCE}/:id/field`} element={<SNSiteFieldsPage />} />
35+
<Route path={`${ROUTES.SN_INSTANCE}/:id/behavior`} element={<SNSiteBehaviorPage />} />
36+
<Route path={`${ROUTES.SN_INSTANCE}/:id/facet-ordering`} element={<SNSiteFacetOrderingPage />} />
37+
<Route path={`${ROUTES.SN_INSTANCE}/:id/ai`} element={<SNSiteGenAIPage />} />
38+
<Route path={`${ROUTES.SN_INSTANCE}/:id/result-ranking`} element={<SNSiteResultRankingListPage />} />
39+
<Route path={`${ROUTES.SN_INSTANCE}/:id/merge-providers`} element={<SNSiteMergeProvidersListPage />} />
40+
<Route path={`${ROUTES.SN_INSTANCE}/:id/spotlight`} element={<SNSiteSpotlightListPage />} />
41+
<Route path={`${ROUTES.SN_INSTANCE}/:id/top-terms`} element={<SNSiteTopSearchTermsPage />} />
42+
<Route path={`${ROUTES.SN_INSTANCE}/:id/field/:fieldId`} element={<SNSiteFieldPage />} />
43+
<Route path={`${ROUTES.SN_INSTANCE}/:id/result-ranking/:resultRankingId`} element={<SNSiteResultRankingPage />} />
44+
<Route path={`${ROUTES.SN_INSTANCE}/:id/merge-providers/:mergeProviderId`} element={<SNSiteMergeProvidersPage />} />
45+
<Route path={`${ROUTES.SN_INSTANCE}/:id/spotlight/:spotlightId`} element={<SNSiteSpotlightPage />} />
46+
</Route>
47+
</Route>
48+
)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { Navigate, Route } from "react-router-dom"
2+
import StoreInstanceListPage from "../console/store/store.instance.list.page"
3+
import StoreInstancePage from "../console/store/store.instance.page"
4+
import StoreInstanceRootPage from "../console/store/store.instance.root.page"
5+
import { ROUTES } from "../routes.const"
6+
7+
export const StoreRoutes = (
8+
<Route path={ROUTES.STORE_ROOT} element={<StoreInstanceRootPage />}>
9+
<Route index element={<Navigate to={ROUTES.STORE_INSTANCE} replace />} />
10+
<Route path={ROUTES.STORE_INSTANCE} element={<StoreInstanceListPage />} />
11+
<Route path={`${ROUTES.STORE_INSTANCE}/:id`} element={<StoreInstancePage />} />
12+
</Route>
13+
)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { Navigate, Route } from "react-router-dom"
2+
import TokenInstanceListPage from "../console/token/token.instance.list.page"
3+
import TokenInstancePage from "../console/token/token.instance.page"
4+
import TokenInstanceRootPage from "../console/token/token.instance.root.page"
5+
import { ROUTES } from "../routes.const"
6+
7+
export const TokenRoutes = (
8+
<Route path={ROUTES.TOKEN_ROOT} element={<TokenInstanceRootPage />}>
9+
<Route index element={<Navigate to={ROUTES.TOKEN_INSTANCE} replace />} />
10+
<Route path={ROUTES.TOKEN_INSTANCE} element={<TokenInstanceListPage />} />
11+
<Route path={`${ROUTES.TOKEN_INSTANCE}/:id`} element={<TokenInstancePage />} />
12+
</Route>
13+
)

0 commit comments

Comments
 (0)