Browse Source

Moved all services in same tab and planning in its own

Arnaud Vergnet 4 years ago
parent
commit
03c4a43e58

+ 10
- 1
src/components/Lists/CardList/CardList.js View File

@@ -2,13 +2,22 @@
2 2
 
3 3
 import * as React from 'react';
4 4
 import {Animated, View} from "react-native";
5
-import type {cardItem, cards} from "../../../screens/Insa/InsaHomeScreen";
6 5
 import CardListItem from "./CardListItem";
7 6
 
8 7
 type Props = {
9 8
     dataset: Array<cards>
10 9
 }
11 10
 
11
+export type cardItem = {
12
+    title: string,
13
+    subtitle: string,
14
+    image: string | number,
15
+    onPress: () => void,
16
+};
17
+
18
+export type cards = Array<cardItem>;
19
+
20
+
12 21
 export default class CardList extends React.Component<Props> {
13 22
 
14 23
     renderItem = ({item}: { item: cards }) => {

+ 1
- 1
src/components/Lists/CardList/CardListItem.js View File

@@ -2,7 +2,7 @@
2 2
 
3 3
 import * as React from 'react';
4 4
 import {Caption, Card, Paragraph} from 'react-native-paper';
5
-import type {cardItem} from "../../../screens/Insa/InsaHomeScreen";
5
+import type {cardItem} from "./CardList";
6 6
 
7 7
 type Props = {
8 8
     width: string | number,

+ 2
- 2
src/components/Tabbar/CustomTabBar.js View File

@@ -19,8 +19,8 @@ type State = {
19 19
 
20 20
 const TAB_ICONS = {
21 21
     proxiwash: 'tshirt-crew',
22
-    students: 'account-circle',
23
-    insa: 'book',
22
+    services: 'account-circle',
23
+    planning: 'calendar-range',
24 24
     planex: 'clock',
25 25
 };
26 26
 

+ 8
- 0
src/navigation/DrawerNavigator.js View File

@@ -8,6 +8,7 @@ import DebugScreen from '../screens/About/DebugScreen';
8 8
 import {createStackNavigator, TransitionPresets} from "@react-navigation/stack";
9 9
 import i18n from "i18n-js";
10 10
 import TabNavigator from "./MainTabNavigator";
11
+import TetrisScreen from "../screens/Tetris/TetrisScreen";
11 12
 
12 13
 const defaultScreenOptions = {
13 14
     gestureEnabled: true,
@@ -59,6 +60,13 @@ function MainStackComponent(props: { createTabNavigator: () => React.Node }) {
59 60
                     title: i18n.t('aboutScreen.debug')
60 61
                 }}
61 62
             />
63
+            <MainStack.Screen
64
+                name="tetris"
65
+                component={TetrisScreen}
66
+                options={{
67
+                    title: i18n.t("game.title"),
68
+                }}
69
+            />
62 70
         </MainStack.Navigator>
63 71
     );
64 72
 }

+ 60
- 70
src/navigation/MainTabNavigator.js View File

@@ -28,7 +28,6 @@ import {AmicaleWebsiteScreen} from "../screens/Websites/AmicaleWebsiteScreen";
28 28
 import {ElusEtudiantsWebsiteScreen} from "../screens/Websites/ElusEtudiantsWebsiteScreen";
29 29
 import {WiketudWebsiteScreen} from "../screens/Websites/WiketudWebsiteScreen";
30 30
 import {TutorInsaWebsiteScreen} from "../screens/Websites/TutorInsaWebsiteScreen";
31
-import TetrisScreen from "../screens/Tetris/TetrisScreen";
32 31
 import LoginScreen from "../screens/Amicale/LoginScreen";
33 32
 import ProfileScreen from "../screens/Amicale/ProfileScreen";
34 33
 import ClubListScreen from "../screens/Amicale/Clubs/ClubListScreen";
@@ -37,7 +36,6 @@ import VoteScreen from "../screens/Amicale/VoteScreen";
37 36
 import AmicaleContactScreen from "../screens/Amicale/AmicaleContactScreen";
38 37
 import AmicaleHomeScreen from "../screens/Amicale/AmicaleHomeScreen";
39 38
 import WebsitesHomeScreen from "../screens/Websites/WebsitesHomeScreen";
40
-import InsaHomeScreen from "../screens/Insa/InsaHomeScreen";
41 39
 
42 40
 const defaultScreenOptions = {
43 41
     gestureEnabled: true,
@@ -77,41 +75,32 @@ function createScreenCollapsibleStack(
77 75
     )
78 76
 }
79 77
 
80
-function getWebsiteStack(name: string, Stack:  any, component: any, title: string) {
78
+function getWebsiteStack(name: string, Stack: any, component: any, title: string) {
81 79
     return createScreenCollapsibleStack(name, Stack, component, title, false);
82 80
 }
83 81
 
84 82
 
85
-const StudentsStack = createStackNavigator();
83
+const ServicesStack = createStackNavigator();
86 84
 
87
-function StudentsStackComponent() {
85
+function ServicesStackComponent() {
88 86
     return (
89
-        <StudentsStack.Navigator
87
+        <ServicesStack.Navigator
90 88
             initialRouteName="index"
91 89
             headerMode={"screen"}
92 90
             screenOptions={defaultScreenOptions}
93 91
         >
94
-            <StudentsStack.Screen
95
-                name="index"
96
-                component={WebsitesHomeScreen}
97
-                options={{
98
-                    title: "WEBSITES HOME",
99
-                }}
100
-            />
101
-            {getWebsiteStack("amicale-website", StudentsStack, AmicaleWebsiteScreen, "Amicale")}
102
-            {getWebsiteStack("elus-etudiants", StudentsStack, ElusEtudiantsWebsiteScreen, "Élus Étudiants")}
103
-            {getWebsiteStack("wiketud", StudentsStack, WiketudWebsiteScreen, "Wiketud")}
104
-            {getWebsiteStack("tutorinsa", StudentsStack, TutorInsaWebsiteScreen, "Tutor'INSA")}
105
-            {createScreenCollapsibleStack("proximo", StudentsStack, ProximoMainScreen, "Proximo")}
92
+            {createScreenCollapsibleStack("index", ServicesStack, WebsitesHomeScreen, "SERVICES")}
93
+
94
+            {createScreenCollapsibleStack("proximo", ServicesStack, ProximoMainScreen, "Proximo")}
106 95
             {createScreenCollapsibleStack(
107 96
                 "proximo-list",
108
-                StudentsStack,
97
+                ServicesStack,
109 98
                 ProximoListScreen,
110 99
                 i18n.t('screens.proximoArticles'),
111 100
                 true,
112 101
                 {...screenTransition},
113 102
             )}
114
-            <StudentsStack.Screen
103
+            <ServicesStack.Screen
115 104
                 name="proximo-about"
116 105
                 component={ProximoAboutScreen}
117 106
                 options={{
@@ -119,22 +108,18 @@ function StudentsStackComponent() {
119 108
                     ...modalTransition,
120 109
                 }}
121 110
             />
122
-            <StudentsStack.Screen
123
-                name="planning"
124
-                component={PlanningScreen}
125
-                options={{
126
-                    title: i18n.t('screens.planning'),
127
-                }}
128
-            />
129
-            <StudentsStack.Screen
130
-                name="planning-information"
131
-                component={PlanningDisplayScreen}
132
-                options={{
133
-                    title: i18n.t('screens.planningDisplayScreen'),
134
-                    ...modalTransition,
135
-                }}
136
-            />
137
-        </StudentsStack.Navigator>
111
+
112
+
113
+            {/*{createScreenCollapsibleStack("index", PlanningStack, InsaHomeScreen, "INSA HOME")}*/}
114
+            {getWebsiteStack("available-rooms", PlanningStack, AvailableRoomScreen, i18n.t('screens.availableRooms'))}
115
+            {getWebsiteStack("bib", PlanningStack, BibScreen, i18n.t('screens.bib'))}
116
+            {createScreenCollapsibleStack("self-menu", PlanningStack, SelfMenuScreen, i18n.t('screens.menuSelf'))}
117
+
118
+            {getWebsiteStack("amicale-website", ServicesStack, AmicaleWebsiteScreen, "Amicale")}
119
+            {getWebsiteStack("elus-etudiants", ServicesStack, ElusEtudiantsWebsiteScreen, "Élus Étudiants")}
120
+            {getWebsiteStack("wiketud", ServicesStack, WiketudWebsiteScreen, "Wiketud")}
121
+            {getWebsiteStack("tutorinsa", ServicesStack, TutorInsaWebsiteScreen, "Tutor'INSA")}
122
+        </ServicesStack.Navigator>
138 123
     );
139 124
 }
140 125
 
@@ -160,20 +145,31 @@ function ProxiwashStackComponent() {
160 145
     );
161 146
 }
162 147
 
163
-const InsaStack = createStackNavigator();
148
+const PlanningStack = createStackNavigator();
164 149
 
165
-function InsaStackComponent() {
150
+function PlanningStackComponent() {
166 151
     return (
167
-        <InsaStack.Navigator
152
+        <PlanningStack.Navigator
168 153
             initialRouteName="index"
169 154
             headerMode={"screen"}
170 155
             screenOptions={defaultScreenOptions}
171 156
         >
172
-            {createScreenCollapsibleStack("index", InsaStack, InsaHomeScreen, "INSA HOME")}
173
-            {getWebsiteStack("available-rooms", InsaStack, AvailableRoomScreen, i18n.t('screens.availableRooms'))}
174
-            {getWebsiteStack("bib", InsaStack, BibScreen, i18n.t('screens.bib'))}
175
-            {createScreenCollapsibleStack("self-menu", InsaStack, SelfMenuScreen, i18n.t('screens.menuSelf'))}
176
-        </InsaStack.Navigator>
157
+            <ServicesStack.Screen
158
+                name="planning"
159
+                component={PlanningScreen}
160
+                options={{
161
+                    title: i18n.t('screens.planning'),
162
+                }}
163
+            />
164
+            <ServicesStack.Screen
165
+                name="planning-information"
166
+                component={PlanningDisplayScreen}
167
+                options={{
168
+                    title: i18n.t('screens.planningDisplayScreen'),
169
+                    ...modalTransition,
170
+                }}
171
+            />
172
+        </PlanningStack.Navigator>
177 173
     );
178 174
 }
179 175
 
@@ -208,36 +204,38 @@ function HomeStackComponent(initialRoute: string | null, defaultData: { [key: st
208 204
                 }
209 205
             )}
210 206
             <HomeStack.Screen
211
-                name="feed-information"
212
-                component={FeedItemScreen}
207
+                name="scanner"
208
+                component={ScannerScreen}
213 209
                 options={{
214
-                    title: i18n.t('screens.feedDisplayScreen'),
210
+                    title: i18n.t('screens.scanner'),
215 211
                     ...modalTransition,
216 212
                 }}
217 213
             />
218 214
             <HomeStack.Screen
219
-                name="scanner"
220
-                component={ScannerScreen}
215
+                name="club-information"
216
+                component={ClubDisplayScreen}
221 217
                 options={{
222
-                    title: i18n.t('screens.scanner'),
218
+                    title: i18n.t('screens.clubDisplayScreen'),
223 219
                     ...modalTransition,
224 220
                 }}
225 221
             />
226 222
             <HomeStack.Screen
227
-                name="home-planning-information"
228
-                component={PlanningDisplayScreen}
223
+                name="feed-information"
224
+                component={FeedItemScreen}
229 225
                 options={{
230
-                    title: i18n.t('screens.planningDisplayScreen'),
226
+                    title: i18n.t('screens.feedDisplayScreen'),
231 227
                     ...modalTransition,
232 228
                 }}
233 229
             />
234 230
             <HomeStack.Screen
235
-                name="tetris"
236
-                component={TetrisScreen}
231
+                name="planning-information"
232
+                component={PlanningDisplayScreen}
237 233
                 options={{
238
-                    title: i18n.t("game.title"),
234
+                    title: i18n.t('screens.planningDisplayScreen'),
235
+                    ...modalTransition,
239 236
                 }}
240 237
             />
238
+
241 239
             <HomeStack.Screen
242 240
                 name="login"
243 241
                 component={LoginScreen}
@@ -254,14 +252,6 @@ function HomeStackComponent(initialRoute: string | null, defaultData: { [key: st
254 252
             />
255 253
             {createScreenCollapsibleStack("club-list", HomeStack, ClubListScreen, i18n.t('clubs.clubList'))}
256 254
             <HomeStack.Screen
257
-                name="club-information"
258
-                component={ClubDisplayScreen}
259
-                options={{
260
-                    title: i18n.t('screens.clubDisplayScreen'),
261
-                    ...modalTransition,
262
-                }}
263
-            />
264
-            <HomeStack.Screen
265 255
                 name="club-about"
266 256
                 component={ClubAboutScreen}
267 257
                 options={{
@@ -348,10 +338,10 @@ export default class TabNavigator extends React.Component<Props> {
348 338
                     options={{title: i18n.t('screens.proxiwash')}}
349 339
                 />
350 340
                 <Tab.Screen
351
-                    name="students"
341
+                    name="services"
352 342
                     option
353
-                    component={StudentsStackComponent}
354
-                    options={{title: "ETUDIANTS"}}
343
+                    component={ServicesStackComponent}
344
+                    options={{title: "SERVICES"}}
355 345
                 />
356 346
 
357 347
                 <Tab.Screen
@@ -360,9 +350,9 @@ export default class TabNavigator extends React.Component<Props> {
360 350
                     options={{title: i18n.t('screens.home')}}
361 351
                 />
362 352
                 <Tab.Screen
363
-                    name="insa"
364
-                    component={InsaStackComponent}
365
-                    options={{title: "INSA"}}
353
+                    name="planning"
354
+                    component={PlanningStackComponent}
355
+                    options={{title: "EVENTS"}}
366 356
                 />
367 357
 
368 358
                 <Tab.Screen

+ 13
- 6
src/screens/Home/HomeScreen.js View File

@@ -161,12 +161,16 @@ class HomeScreen extends React.Component<Props> {
161 161
     };
162 162
 
163 163
     onProximoClick = () => {
164
-        this.props.navigation.navigate("proximo");
164
+        this.props.navigation.navigate('services', {screen: "index"});
165 165
     };
166 166
 
167
-    onTutorInsaClick = () => this.props.navigation.navigate('tutorinsa');
167
+    onTutorInsaClick = () => {
168
+        this.props.navigation.navigate('services', {screen: "index"});
169
+    };
168 170
 
169
-    onMenuClick = () => this.props.navigation.navigate('self-menu');
171
+    onMenuClick = () => {
172
+        this.props.navigation.navigate('services', {screen: "index"});
173
+    };
170 174
 
171 175
     /**
172 176
      * Creates the dataset to be used in the FlatList
@@ -407,8 +411,11 @@ class HomeScreen extends React.Component<Props> {
407 411
     getDashboardEvent(content: Array<event>) {
408 412
         let futureEvents = this.getFutureEvents(content);
409 413
         let displayEvent = this.getDisplayEvent(futureEvents);
410
-        const clickPreviewAction = () =>
411
-            this.props.navigation.navigate('home-planning-information', {data: displayEvent});
414
+        // const clickPreviewAction = () =>
415
+        //     this.props.navigation.navigate('students', {
416
+        //         screen: 'planning-information',
417
+        //         params: {data: displayEvent}
418
+        //     });
412 419
         return (
413 420
             <DashboardItem
414 421
                 eventNumber={futureEvents.length}
@@ -416,7 +423,7 @@ class HomeScreen extends React.Component<Props> {
416 423
             >
417 424
                 <PreviewEventDashboardItem
418 425
                     event={displayEvent != null ? displayEvent : undefined}
419
-                    clickAction={clickPreviewAction}
426
+                    clickAction={this.onEventContainerClick}
420 427
                 />
421 428
             </DashboardItem>
422 429
         );

+ 0
- 98
src/screens/Insa/InsaHomeScreen.js View File

@@ -1,98 +0,0 @@
1
-// @flow
2
-
3
-import * as React from 'react';
4
-import CardList from "../../components/Lists/CardList/CardList";
5
-import CustomTabBar from "../../components/Tabbar/CustomTabBar";
6
-import {Collapsible} from "react-navigation-collapsible";
7
-import {withCollapsible} from "../../utils/withCollapsible";
8
-
9
-type Props = {
10
-    navigation: Object,
11
-    route: Object,
12
-    collapsibleStack: Collapsible,
13
-}
14
-
15
-type State = {}
16
-
17
-const BIB_IMAGE = "https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-9/50695561_2124263197597162_2325349608210825216_n.jpg?_nc_cat=109&_nc_sid=8bfeb9&_nc_ohc=tmcV6FWO7_kAX9vfWHU&_nc_ht=scontent-cdg2-1.xx&oh=3b81c76e46b49f7c3a033ea3b07ec212&oe=5EC59B4D";
18
-const RU_IMAGE = "https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-9/47123773_2041883702501779_5289372776166064128_o.jpg?_nc_cat=100&_nc_sid=cdbe9c&_nc_ohc=dpuBGlIIy_EAX8CyC0l&_nc_ht=scontent-cdg2-1.xx&oh=5c5bb4f0c7f12b554246f7c9b620a5f3&oe=5EC4DB31";
19
-const ROOM_IMAGE = "https://scontent-cdt1-1.xx.fbcdn.net/v/t1.0-9/47041013_2043521689004647_316124496522117120_n.jpg?_nc_cat=103&_nc_sid=8bfeb9&_nc_ohc=bIp8OVJvvSEAX8mKnDZ&_nc_ht=scontent-cdt1-1.xx&oh=b4fef72a645804a849ad30e9e20fca12&oe=5EC29309";
20
-const EMAIL_IMAGE = "https://etud-mel.insa-toulouse.fr/webmail/images/logo-bluemind.png";
21
-const ENT_IMAGE = "https://ent.insa-toulouse.fr/media/org/jasig/portal/layout/tab-column/xhtml-theme/insa/institutional/LogoInsa.png";
22
-
23
-export type cardItem = {
24
-    title: string,
25
-    subtitle: string,
26
-    image: string | number,
27
-    onPress: () => void,
28
-};
29
-
30
-export type cards = Array<cardItem>;
31
-
32
-
33
-class InsaHomeScreen extends React.Component<Props, State> {
34
-
35
-    state = {};
36
-
37
-    dataset: Array<cards>;
38
-
39
-    constructor(props: Props) {
40
-        super(props);
41
-        const nav = props.navigation;
42
-        this.dataset = [
43
-            [
44
-                {
45
-                    title: "RU",
46
-                    subtitle: "the ru",
47
-                    image: RU_IMAGE,
48
-                    onPress: () => nav.navigate("self-menu"),
49
-                },
50
-            ],
51
-            [
52
-                {
53
-                    title: "AVAILABLE ROOMS",
54
-                    subtitle: "ROOMS",
55
-                    image: ROOM_IMAGE,
56
-                    onPress: () => nav.navigate("available-rooms"),
57
-                },
58
-                {
59
-                    title: "BIB",
60
-                    subtitle: "BIB",
61
-                    image: BIB_IMAGE,
62
-                    onPress: () => nav.navigate("bib"),
63
-                },
64
-            ],
65
-            [
66
-                {
67
-                    title: "EMAIL",
68
-                    subtitle: "EMAIL",
69
-                    image: EMAIL_IMAGE,
70
-                    onPress: () => nav.navigate("available-rooms"),
71
-                },
72
-                {
73
-                    title: "ENT",
74
-                    subtitle: "ENT",
75
-                    image: ENT_IMAGE,
76
-                    onPress: () => nav.navigate("bib"),
77
-                },
78
-            ],
79
-        ];
80
-    }
81
-
82
-    render() {
83
-        const {containerPaddingTop, scrollIndicatorInsetTop, onScroll} = this.props.collapsibleStack;
84
-        return (
85
-                <CardList
86
-                    dataset={this.dataset}
87
-                    onScroll={onScroll}
88
-                    contentContainerStyle={{
89
-                        paddingTop: containerPaddingTop,
90
-                        paddingBottom: CustomTabBar.TAB_BAR_HEIGHT + 20
91
-                    }}
92
-                    scrollIndicatorInsets={{top: scrollIndicatorInsetTop}}
93
-                />
94
-        );
95
-    }
96
-}
97
-
98
-export default withCollapsible(InsaHomeScreen);

+ 55
- 7
src/screens/Websites/WebsitesHomeScreen.js View File

@@ -1,24 +1,29 @@
1 1
 // @flow
2 2
 
3 3
 import * as React from 'react';
4
+import type {cards} from "../../components/Lists/CardList/CardList";
4 5
 import CardList from "../../components/Lists/CardList/CardList";
5 6
 import CustomTabBar from "../../components/Tabbar/CustomTabBar";
6 7
 import {withCollapsible} from "../../utils/withCollapsible";
7
-import type {cards} from "../Insa/InsaHomeScreen";
8 8
 import {Collapsible} from "react-navigation-collapsible";
9
+import {CommonActions} from "@react-navigation/native";
9 10
 
10 11
 type Props = {
11 12
     navigation: Object,
12 13
     route: Object,
13 14
     collapsibleStack: Collapsible,
14 15
 }
16
+const BIB_IMAGE = "https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-9/50695561_2124263197597162_2325349608210825216_n.jpg?_nc_cat=109&_nc_sid=8bfeb9&_nc_ohc=tmcV6FWO7_kAX9vfWHU&_nc_ht=scontent-cdg2-1.xx&oh=3b81c76e46b49f7c3a033ea3b07ec212&oe=5EC59B4D";
17
+const RU_IMAGE = "https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-9/47123773_2041883702501779_5289372776166064128_o.jpg?_nc_cat=100&_nc_sid=cdbe9c&_nc_ohc=dpuBGlIIy_EAX8CyC0l&_nc_ht=scontent-cdg2-1.xx&oh=5c5bb4f0c7f12b554246f7c9b620a5f3&oe=5EC4DB31";
18
+const ROOM_IMAGE = "https://scontent-cdt1-1.xx.fbcdn.net/v/t1.0-9/47041013_2043521689004647_316124496522117120_n.jpg?_nc_cat=103&_nc_sid=8bfeb9&_nc_ohc=bIp8OVJvvSEAX8mKnDZ&_nc_ht=scontent-cdt1-1.xx&oh=b4fef72a645804a849ad30e9e20fca12&oe=5EC29309";
19
+const EMAIL_IMAGE = "https://etud-mel.insa-toulouse.fr/webmail/images/logo-bluemind.png";
20
+const ENT_IMAGE = "https://ent.insa-toulouse.fr/media/org/jasig/portal/layout/tab-column/xhtml-theme/insa/institutional/LogoInsa.png";
15 21
 
16 22
 const PROXIMO_IMAGE = require("../../../assets/proximo-logo.png");
17 23
 const WIKETUD_LINK = "https://wiki.etud.insa-toulouse.fr/resources/assets/wiketud.png?ff051";
18 24
 const AMICALE_IMAGE = require("../../../assets/amicale.png");
19 25
 const EE_IMAGE = "https://etud.insa-toulouse.fr/~eeinsat/wp-content/uploads/2019/09/logo-blanc.png";
20 26
 const TUTORINSA_IMAGE = "https://www.etud.insa-toulouse.fr/~tutorinsa/public/images/logo-gray.png";
21
-const PLANNING_IMAGE = "https://scontent-cdg2-1.xx.fbcdn.net/v/t1.0-9/89719124_1737599216391004_5007805161305800704_o.jpg?_nc_cat=102&_nc_sid=825194&_nc_ohc=04zvPRn2SzIAX8v3F4q&_nc_ht=scontent-cdg2-1.xx&oh=ecc4af602818481c4192c92b8a45c69b&oe=5EC355E2";
22 27
 
23 28
 class WebsitesHomeScreen extends React.Component<Props> {
24 29
 
@@ -30,16 +35,44 @@ class WebsitesHomeScreen extends React.Component<Props> {
30 35
         this.dataset = [
31 36
             [
32 37
                 {
38
+                    title: "RU",
39
+                    subtitle: "the ru",
40
+                    image: RU_IMAGE,
41
+                    onPress: () => nav.navigate("self-menu"),
42
+                },
43
+                {
33 44
                     title: "proximo",
34 45
                     subtitle: "proximo",
35 46
                     image: PROXIMO_IMAGE,
36 47
                     onPress: () => nav.navigate("proximo"),
37 48
                 },
49
+            ],
50
+            [
51
+                {
52
+                    title: "AVAILABLE ROOMS",
53
+                    subtitle: "ROOMS",
54
+                    image: ROOM_IMAGE,
55
+                    onPress: () => nav.navigate("available-rooms"),
56
+                },
57
+                {
58
+                    title: "BIB",
59
+                    subtitle: "BIB",
60
+                    image: BIB_IMAGE,
61
+                    onPress: () => nav.navigate("bib"),
62
+                },
63
+            ],
64
+            [
65
+                {
66
+                    title: "EMAIL",
67
+                    subtitle: "EMAIL",
68
+                    image: EMAIL_IMAGE,
69
+                    onPress: () => nav.navigate("available-rooms"),
70
+                },
38 71
                 {
39
-                    title: "planning",
40
-                    subtitle: "planning",
41
-                    image: PLANNING_IMAGE,
42
-                    onPress: () => nav.navigate("planning"),
72
+                    title: "ENT",
73
+                    subtitle: "ENT",
74
+                    image: ENT_IMAGE,
75
+                    onPress: () => nav.navigate("bib"),
43 76
                 },
44 77
             ],
45 78
             [
@@ -67,12 +100,27 @@ class WebsitesHomeScreen extends React.Component<Props> {
67 100
                     title: "TUTOR INSA",
68 101
                     subtitle: "TUTOR INSA",
69 102
                     image: TUTORINSA_IMAGE,
70
-                    onPress: () => nav.navigate("tutor-insa"),
103
+                    onPress: () => nav.navigate("tutorinsa"),
71 104
                 },
72 105
             ],
73 106
         ];
74 107
     }
75 108
 
109
+    componentDidMount() {
110
+        this.props.navigation.addListener('focus', this.handleNavigationParams);
111
+
112
+    }
113
+
114
+    handleNavigationParams = () => {
115
+        if (this.props.route.params != null) {
116
+            if (this.props.route.params.nextScreen != null) {
117
+                this.props.navigation.navigate(this.props.route.params.nextScreen);
118
+                // reset params to prevent infinite loop
119
+                this.props.navigation.dispatch(CommonActions.setParams({nextScreen: null}));
120
+            }
121
+        }
122
+    };
123
+
76 124
     render() {
77 125
         const {containerPaddingTop, scrollIndicatorInsetTop, onScroll} = this.props.collapsibleStack;
78 126
         return (

Loading…
Cancel
Save