-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathroutes.js
96 lines (83 loc) · 3.12 KB
/
routes.js
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
/* @noflow */
import React from 'react';
import { Route, StackRoute, TabsRoute, Router, nativeHistory } from 'react-router-native';
import { component, tabHeaderComponent, stackHeaderComponent } from './components';
import { Master } from './components/Master';
import { HomeHeader } from './components/Home';
import { Discover, DiscoverHeader } from './components/Discover';
import { Notifications } from './components/Notifications';
import { UserOverlay } from './components/User';
import { ProfileHeader } from './components/Profile';
import { NAVIGATION_HEADER_HEIGHT } from './components/styles';
const SECOND_HEADER = NAVIGATION_HEADER_HEIGHT;
const THIRD_HEADER = NAVIGATION_HEADER_HEIGHT * 2;
const redirectToNotifications = (nextState, replace) => {
replace('/notifications');
};
const routes = (
/* Address Bar can be toggled on or off by setting the addressBar prop */
<Router history={nativeHistory} addressBar>
<TabsRoute path="master" component={Master}>
<TabsRoute path="/home" component={component('#012B45')} overlayComponent={HomeHeader}>
<TabsRoute
path="user"
component={component('#3B2C57')}
overlayComponent={UserOverlay}
transition="horizontal-pager"
>
<Route
path="/"
component={component('#F5807B')}
overlayComponent={tabHeaderComponent('#89B2FD', SECOND_HEADER)}
/>
<StackRoute
path="private"
component={component('#FFFFFF')}
overlayComponent={tabHeaderComponent('#89B2FD', SECOND_HEADER)}
transition="horizontal-card-stack"
>
<Route
path="settings"
component={component('#FFF0D1')}
overlayComponent={stackHeaderComponent('#C8D574', THIRD_HEADER)}
/>
<Route
path="settings/info"
component={component('#EF4E5E')}
overlayComponent={stackHeaderComponent('#F5807B', THIRD_HEADER)}
/>
</StackRoute>
</TabsRoute>
<Route path="following(-:foo)" component={component('#DABF55')} />
</TabsRoute>
<Route path="/notifications" component={Notifications} />
<Route
path="/discover/:topic"
component={Discover}
overlayComponent={DiscoverHeader}
/>
<StackRoute
path="/profile/:userId"
component={component('#000000')}
overlayComponent={ProfileHeader}
>
<Route
path="settings"
component={component('#FFF0D1')}
overlayComponent={stackHeaderComponent('beige', SECOND_HEADER)}
transition="horizontal-card-stack"
/>
<Route
path="settings/info"
component={component('#EF4E5E')}
overlayComponent={stackHeaderComponent('#F5807B', SECOND_HEADER)}
transition="vertical-card-stack"
/>
</StackRoute>
</TabsRoute>
<Route path="swap" component={component('#DABF55')}>
<Route path="nested" onEnter={redirectToNotifications} component={component('#41BDE2')} />
</Route>
</Router>
);
export default routes;