From 9adb32fdd59a0a74829457befbe01b7ec496b73c Mon Sep 17 00:00:00 2001 From: Marc Nuri Date: Fri, 3 May 2024 15:32:35 +0200 Subject: [PATCH] refactor: App uses named exports and dispatch hook --- src/main/frontend/src/App.js | 113 +++++++++++++++++---------------- src/main/frontend/src/index.js | 2 +- 2 files changed, 61 insertions(+), 54 deletions(-) diff --git a/src/main/frontend/src/App.js b/src/main/frontend/src/App.js index a6ee0be..d24adf3 100644 --- a/src/main/frontend/src/App.js +++ b/src/main/frontend/src/App.js @@ -15,28 +15,48 @@ * */ import React, {useEffect} from 'react'; -import {connect} from 'react-redux'; +import {useDispatch} from 'react-redux'; import {BrowserRouter as Router, Route, Routes} from 'react-router-dom'; import * as apis from './apis'; -import * as crb from './clusterrolebindings'; -import * as cr from './clusterroles'; -import * as cm from './configmaps'; -import * as cj from './cronjobs'; +import { + ClusterRoleBindingsPage, + ClusterRoleBindingsDetailPage, + ClusterRoleBindingsEditPage +} from './clusterrolebindings'; +import { + ClusterRolesPage, + ClusterRolesDetailPage, + ClusterRolesEditPage +} from './clusterroles'; +import { + ConfigMapsPage, + ConfigMapsDetailPage, + ConfigMapsEditPage +} from './configmaps'; +import {CronJobsPage, CronJobsDetailPage, CronJobsEditPage} from './cronjobs'; import crd from './customresourcedefinitions'; import dc from './deploymentconfigs'; -import * as ds from './daemonsets'; +import { + DaemonSetsPage, + DaemonSetsDetailPage, + DaemonSetsEditPage +} from './daemonsets'; import { DeploymentsPage, DeploymentsEditPage, DeploymentsDetailPage } from './deployments'; -import * as ep from './endpoints'; +import {EndpointsPage, EndpointsDetailPage} from './endpoints'; import { HorizontalPodAutoscalersPage, HorizontalPodAutoscalersDetailPage, HorizontalPodAutoscalersEditPage } from './horizontalpodautoscalers'; -import * as ingresses from './ingresses'; +import { + IngressesPage, + IngressesDetailPage, + IngressesEditPage +} from './ingresses'; import {JobsPage, JobsEditPage, JobsDetailPage} from './jobs'; import {NodesPage, NodesDetailPage, NodesEditPage} from './nodes'; import ns from './namespaces'; @@ -47,10 +67,14 @@ import rc from './replicationcontrollers'; import {apiGroupsSet, setError, setOffline} from './redux'; import roles from './roles'; import routes from './routes'; -import * as search from './search'; +import {SearchPage} from './search'; import secrets from './secrets'; import services from './services'; -import * as sa from './serviceaccounts'; +import { + ServiceAccountsPage, + ServiceAccountsDetailPage, + ServiceAccountsEditPage +} from './serviceaccounts'; import sts from './statefulsets'; import watch from './watch'; import Home from './Home'; @@ -92,7 +116,8 @@ const onUnmount = () => { } }; -const App = ({dispatch}) => { +export const App = () => { + const dispatch = useDispatch(); useEffect(() => { onMount({dispatch}); return onUnmount; @@ -104,50 +129,46 @@ const App = ({dispatch}) => { } + element={} /> } + element={} /> } + element={} /> - } /> + } /> } + element={} /> } + element={} /> - } /> + } /> } + element={} /> } - /> - } /> - } + element={} /> + } /> + } /> } + element={} /> { path='/customresourcedefinitions/:uid/edit' element={} /> - } /> + } /> } + element={} /> } + element={} /> { path='/deployments/:uid/edit' element={} /> - } /> - } - /> + } /> + } /> { path='/horizontalpodautoscalers/:uid/edit' element={} /> - } /> - } - /> + } /> + } /> } + element={} /> } /> } /> @@ -313,7 +326,7 @@ const App = ({dispatch}) => { path='/routes/:uid/edit' element={} /> - } /> + } /> } /> { } + element={} /> } + element={} /> } + element={} /> } /> { ); }; - -const mapStateToProps = () => ({}); - -const mapDispatchToProps = dispatch => ({dispatch}); - -export default connect(mapStateToProps, mapDispatchToProps)(App); diff --git a/src/main/frontend/src/index.js b/src/main/frontend/src/index.js index f3da3f5..f81e207 100644 --- a/src/main/frontend/src/index.js +++ b/src/main/frontend/src/index.js @@ -18,7 +18,7 @@ import React from 'react'; import {createRoot} from 'react-dom/client'; import {Provider} from 'react-redux'; import {store} from './redux'; -import App from './App'; +import {App} from './App'; import 'typeface-open-sans/index.css'; import '@fortawesome/fontawesome-free/css/all.min.css';