on 6da429e help sign in
bridge/src/Bridge.js
65 lines 1.9 kB history raw
1import React from 'react';
2import { hot } from 'react-hot-loader/root';
3import { Just, Nothing } from 'folktale/maybe';
4import { IndigoApp } from 'indigo-react';
6import Router from 'components/Router';
8import Provider from 'store/Provider';
10import { ROUTE_NAMES } from 'lib/routeNames';
11import { ROUTES } from 'lib/router';
12import { NETWORK_TYPES } from 'lib/network';
13import { walletFromMnemonic } from 'lib/wallet';
14import { isDevelopment } from 'lib/flags';
15import { hasDisclaimed } from 'lib/disclaimerCookie';
17import 'style/index.scss';
19const INITIAL_NETWORK_TYPE = isDevelopment
20 ? NETWORK_TYPES.LOCAL
21 : NETWORK_TYPES.MAINNET;
23// NB(shrugs): modify these variables to change the default local state.
24const SHOULD_STUB_LOCAL = process.env.REACT_APP_STUB_LOCAL === 'true';
25const IS_STUBBED = isDevelopment && SHOULD_STUB_LOCAL;
26const INITIAL_ROUTES = IS_STUBBED
27 ? [
28 { key: ROUTE_NAMES.LANDING },
29 { key: ROUTE_NAMES.LOGIN },
30 { key: ROUTE_NAMES.POINTS },
31 { key: ROUTE_NAMES.POINT },
32 ]
33 : hasDisclaimed()
34 ? [{ key: ROUTE_NAMES.LANDING }]
35 : [{ key: ROUTE_NAMES.DISCLAIMER }];
37const INITIAL_WALLET = IS_STUBBED
38 ? walletFromMnemonic(
39 process.env.REACT_APP_DEV_MNEMONIC,
40 process.env.REACT_APP_HD_PATH
41 )
42 : undefined;
43const INITIAL_MNEMONIC = IS_STUBBED
44 ? Just(process.env.REACT_APP_DEV_MNEMONIC)
45 : Nothing();
46const INITIAL_POINT_CURSOR = IS_STUBBED ? Just(65792) : Nothing();
48function Bridge() {
49 return (
50 <Provider
51 views={ROUTES}
52 names={ROUTE_NAMES}
53 initialRoutes={INITIAL_ROUTES}
54 initialNetworkType={INITIAL_NETWORK_TYPE}
55 initialWallet={INITIAL_WALLET}
56 initialMnemonic={INITIAL_MNEMONIC}
57 initialPointCursor={INITIAL_POINT_CURSOR}>
58 <IndigoApp>
59 <Router />
60 </IndigoApp>
61 </Provider>
62 );
65export default process.env.NODE_ENV === 'development' ? hot(Bridge) : Bridge;