|
@@ -142,7 +142,7 @@ function HomeStackComponent(
|
142
|
142
|
defaultData: {[key: string]: string},
|
143
|
143
|
) {
|
144
|
144
|
let params;
|
145
|
|
- if (initialRoute != null) {
|
|
145
|
+ if (initialRoute) {
|
146
|
146
|
params = {data: defaultData, nextScreen: initialRoute, shouldOpen: true};
|
147
|
147
|
}
|
148
|
148
|
const {colors} = useTheme();
|
|
@@ -255,45 +255,53 @@ type PropsType = {
|
255
|
255
|
defaultHomeData: {[key: string]: string};
|
256
|
256
|
};
|
257
|
257
|
|
258
|
|
-export default function TabNavigator(props: PropsType) {
|
259
|
|
- let defaultRoute = 'home';
|
260
|
|
- if (!props.defaultHomeRoute) {
|
261
|
|
- defaultRoute = AsyncStorageManager.getString(
|
262
|
|
- AsyncStorageManager.PREFERENCES.defaultStartScreen.key,
|
263
|
|
- ).toLowerCase();
|
|
258
|
+export default class TabNavigator extends React.Component<PropsType> {
|
|
259
|
+ defaultRoute: string;
|
|
260
|
+ createHomeStackComponent: () => any;
|
|
261
|
+
|
|
262
|
+ constructor(props: PropsType) {
|
|
263
|
+ super(props);
|
|
264
|
+ this.defaultRoute = 'home';
|
|
265
|
+ if (!props.defaultHomeRoute) {
|
|
266
|
+ this.defaultRoute = AsyncStorageManager.getString(
|
|
267
|
+ AsyncStorageManager.PREFERENCES.defaultStartScreen.key,
|
|
268
|
+ ).toLowerCase();
|
|
269
|
+ }
|
|
270
|
+ this.createHomeStackComponent = () =>
|
|
271
|
+ HomeStackComponent(props.defaultHomeRoute, props.defaultHomeData);
|
264
|
272
|
}
|
265
|
|
- const createHomeStackComponent = () =>
|
266
|
|
- HomeStackComponent(props.defaultHomeRoute, props.defaultHomeData);
|
267
|
273
|
|
268
|
|
- return (
|
269
|
|
- <Tab.Navigator
|
270
|
|
- initialRouteName={defaultRoute}
|
271
|
|
- tabBar={(tabProps) => <CustomTabBar {...tabProps} />}>
|
272
|
|
- <Tab.Screen
|
273
|
|
- name="services"
|
274
|
|
- component={ServicesStackComponent}
|
275
|
|
- options={{title: i18n.t('screens.services.title')}}
|
276
|
|
- />
|
277
|
|
- <Tab.Screen
|
278
|
|
- name="proxiwash"
|
279
|
|
- component={ProxiwashStackComponent}
|
280
|
|
- options={{title: i18n.t('screens.proxiwash.title')}}
|
281
|
|
- />
|
282
|
|
- <Tab.Screen
|
283
|
|
- name="home"
|
284
|
|
- component={createHomeStackComponent}
|
285
|
|
- options={{title: i18n.t('screens.home.title')}}
|
286
|
|
- />
|
287
|
|
- <Tab.Screen
|
288
|
|
- name="planning"
|
289
|
|
- component={PlanningStackComponent}
|
290
|
|
- options={{title: i18n.t('screens.planning.title')}}
|
291
|
|
- />
|
292
|
|
- <Tab.Screen
|
293
|
|
- name="planex"
|
294
|
|
- component={PlanexStackComponent}
|
295
|
|
- options={{title: i18n.t('screens.planex.title')}}
|
296
|
|
- />
|
297
|
|
- </Tab.Navigator>
|
298
|
|
- );
|
|
274
|
+ render() {
|
|
275
|
+ return (
|
|
276
|
+ <Tab.Navigator
|
|
277
|
+ initialRouteName={this.defaultRoute}
|
|
278
|
+ tabBar={(tabProps) => <CustomTabBar {...tabProps} />}>
|
|
279
|
+ <Tab.Screen
|
|
280
|
+ name="services"
|
|
281
|
+ component={ServicesStackComponent}
|
|
282
|
+ options={{title: i18n.t('screens.services.title')}}
|
|
283
|
+ />
|
|
284
|
+ <Tab.Screen
|
|
285
|
+ name="proxiwash"
|
|
286
|
+ component={ProxiwashStackComponent}
|
|
287
|
+ options={{title: i18n.t('screens.proxiwash.title')}}
|
|
288
|
+ />
|
|
289
|
+ <Tab.Screen
|
|
290
|
+ name="home"
|
|
291
|
+ component={this.createHomeStackComponent}
|
|
292
|
+ options={{title: i18n.t('screens.home.title')}}
|
|
293
|
+ />
|
|
294
|
+ <Tab.Screen
|
|
295
|
+ name="planning"
|
|
296
|
+ component={PlanningStackComponent}
|
|
297
|
+ options={{title: i18n.t('screens.planning.title')}}
|
|
298
|
+ />
|
|
299
|
+ <Tab.Screen
|
|
300
|
+ name="planex"
|
|
301
|
+ component={PlanexStackComponent}
|
|
302
|
+ options={{title: i18n.t('screens.planex.title')}}
|
|
303
|
+ />
|
|
304
|
+ </Tab.Navigator>
|
|
305
|
+ );
|
|
306
|
+ }
|
299
|
307
|
}
|