-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathindex.tsx
122 lines (112 loc) · 4.58 KB
/
index.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import React from "react";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import { PersistGate } from "redux-persist/lib/integration/react";
import { ConnectedRouter } from "connected-react-router";
import { Route, Switch } from "react-router";
import Modal from "react-modal";
import { store, persistor } from "./redux";
import history from "./redux/history";
import Root from "./components/root";
import AuthenticatedRoute from "./components/routes/authenticated-route";
import Agreement from "./components/agreement";
import BrokersDown from "./components/brokers-down";
import LandingPage from "./components/landing-page";
import Login from "./components/login";
import Logout from "./components/logout";
import ForgotPage from "./components/forgot-page";
import { SignUp, Upgrade, Renew } from "./components/signup";
import ThankYou from "./components/signup/thank-you";
import CommunityPage from "./components/community-page";
import StandsOut from "./components/stands-out";
import FileManager from "./components/file-manager";
import SharePage from "./components/share-page";
import Swap from "./components/swap";
import SwapInformation from "./components/swap/information";
import SwapManualInformation from "./components/swap/manual";
import GoogleTagManager from "./components/shared/google-tag-manager";
import ErrorPage from "./components/error-page";
import ErrorTracker from "./services/error-tracker";
import { unregister } from "./register-service-worker";
import { GTM_ID, AGREEMENT_TYPES } from "./config";
const ScrollToTop = () => {
window.scrollTo(0, 0);
return null;
};
Modal.setAppElement("#root");
const App = () => (
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<ConnectedRouter history={history}>
<Root>
<GoogleTagManager gtmId={GTM_ID} />
<Route component={ScrollToTop} />
<Switch>
<Route exact={true} path="/" component={LandingPage} />
<Route path="/error-page" component={ErrorPage} />
<Route path="/brokers-down" component={BrokersDown} />
<Route path="/sign-up/:plan" component={SignUp} />
<Route path="/sign-up" component={SignUp} />
<Route path="/upgrade/:plan" component={Upgrade} />
<Route path="/upgrade" component={Upgrade} />
<Route path="/renew" component={Renew} />
<Route path="/aa18ddd7-9ec6-463d-baff-04549e4c382d/swap-information" component={SwapInformation} />
<Route path="/aa18ddd7-9ec6-463d-baff-04549e4c382d/swap-manual" component={SwapManualInformation} />
<Route path="/aa18ddd7-9ec6-463d-baff-04549e4c382d/swap" component={Swap} />
<Route path="/thank-you" component={ThankYou} />
<Route
path="/custom-sign-up/:plan"
render={props => <SignUp isCustom={true} {...props} />}
/>
<Route
path="/custom-sign-up"
render={props => <SignUp isCustom={true} {...props} />}
/>
<Route path="/stands-out" component={StandsOut} />
<Route path="/login" component={Login} />
<Route path="/logout" component={Logout} />
<Route path="/forgot-page" component={ForgotPage} />
<Route path="/community-page" component={CommunityPage} />
<Route path="/share" component={SharePage} />
<AuthenticatedRoute
path="/file-manager/:folderName*"
component={FileManager}
/>
<AuthenticatedRoute path="/file-manager" component={FileManager} />
<Route
path="/terms-of-service"
render={() => (
<Agreement
title="Terms of Service"
type={AGREEMENT_TYPES.TERMS_OF_SERVICE}
/>
)}
/>
<Route
path="/privacy-policy"
render={() => (
<Agreement
title="Privacy Policy"
type={AGREEMENT_TYPES.PRIVACY_POLICY}
/>
)}
/>
<Route
path="/code-review-license"
render={() => (
<Agreement
title="Opacity Code Review License"
type={AGREEMENT_TYPES.CODE_REVIEW_LICENSE}
/>
)}
/>
</Switch>
</Root>
</ConnectedRouter>
</PersistGate>
</Provider>
);
ErrorTracker.context(() => {
ReactDOM.render(<App />, document.getElementById("root"));
unregister();
});