summaryrefslogtreecommitdiff
path: root/src/components/Root.js
diff options
context:
space:
mode:
authorHaishan <[email protected]>2019-12-20 17:45:05 +0800
committerHaishan <[email protected]>2019-12-20 17:45:05 +0800
commitd81592ec970d207d4e37beb6c275ad6b77979e39 (patch)
tree33aac796297864d95307f21d6a9aa790e3c33c09 /src/components/Root.js
parent040c5de04a75415490f9c478d931b7707bfa2486 (diff)
feat: support proxy provider
Diffstat (limited to 'src/components/Root.js')
-rw-r--r--src/components/Root.js51
1 files changed, 30 insertions, 21 deletions
diff --git a/src/components/Root.js b/src/components/Root.js
index 56c0be0..4147fd2 100644
--- a/src/components/Root.js
+++ b/src/components/Root.js
@@ -1,5 +1,6 @@
import React, { Suspense } from 'react';
-import { Provider } from 'm/store';
+import { Provider } from '../misc/store';
+import StateProvider from './StateProvider';
import { HashRouter as Router, Route } from 'react-router-dom';
import { hot } from 'react-hot-loader/root';
import Loading2 from 'c/Loading2';
@@ -36,30 +37,38 @@ const Rules = React.lazy(() =>
window.store = store;
+const initialState = {
+ proxies: {
+ proxies: {},
+ delay: {},
+ groupNames: []
+ }
+};
+
const Root = () => (
<ErrorBoundary>
- <Provider store={store}>
- <Router>
- <div className={s0.app}>
- <APIDiscovery />
- <Route path="/" render={props => <SideBar {...props} />} />
- <div className={s0.content}>
- <Suspense fallback={<Loading2 />}>
- <Route exact path="/" render={() => <Home />} />
- <Route exact path="/connections" component={Connections} />
- <Route exact path="/overview" render={() => <Home />} />
- <Route exact path="/configs" component={Config} />
- <Route exact path="/logs" component={Logs} />
- <Route exact path="/proxies" render={() => <Proxies />} />
- <Route exact path="/rules" render={() => <Rules />} />
- </Suspense>
+ <StateProvider initialState={initialState}>
+ <Provider store={store}>
+ <Router>
+ <div className={s0.app}>
+ <APIDiscovery />
+ <Route path="/" render={props => <SideBar {...props} />} />
+ <div className={s0.content}>
+ <Suspense fallback={<Loading2 />}>
+ <Route exact path="/" render={() => <Home />} />
+ <Route exact path="/connections" component={Connections} />
+ <Route exact path="/overview" render={() => <Home />} />
+ <Route exact path="/configs" component={Config} />
+ <Route exact path="/logs" component={Logs} />
+ <Route exact path="/proxies" render={() => <Proxies />} />
+ <Route exact path="/rules" render={() => <Rules />} />
+ </Suspense>
+ </div>
</div>
- </div>
- </Router>
- </Provider>
+ </Router>
+ </Provider>
+ </StateProvider>
</ErrorBoundary>
);
-// <Route exact path="/__0" render={() => <StyleGuide />} />
-// <Route exact path="/__1" component={Loading} />
export default hot(Root);