|
@@ -11,8 +11,6 @@ import TabNavigator from "./TabNavigator";
|
11
|
11
|
import TetrisScreen from "../screens/Tetris/TetrisScreen";
|
12
|
12
|
import VoteScreen from "../screens/Amicale/VoteScreen";
|
13
|
13
|
import LoginScreen from "../screens/Amicale/LoginScreen";
|
14
|
|
-import {useTheme} from "react-native-paper";
|
15
|
|
-import {createCollapsibleStack} from "react-navigation-collapsible";
|
16
|
14
|
import {Platform} from "react-native";
|
17
|
15
|
import AvailableRoomScreen from "../screens/Websites/AvailableRoomScreen";
|
18
|
16
|
import BibScreen from "../screens/Websites/BibScreen";
|
|
@@ -30,6 +28,7 @@ import ProfileScreen from "../screens/Amicale/ProfileScreen";
|
30
|
28
|
import ClubListScreen from "../screens/Amicale/Clubs/ClubListScreen";
|
31
|
29
|
import ClubAboutScreen from "../screens/Amicale/Clubs/ClubAboutScreen";
|
32
|
30
|
import ClubDisplayScreen from "../screens/Amicale/Clubs/ClubDisplayScreen";
|
|
31
|
+import {createScreenCollapsibleStack, getWebsiteStack} from "../utils/CollapsibleUtils";
|
33
|
32
|
|
34
|
33
|
const defaultScreenOptions = {
|
35
|
34
|
gestureEnabled: true,
|
|
@@ -41,38 +40,6 @@ const modalTransition = Platform.OS === 'ios' ? TransitionPresets.ModalPresentat
|
41
|
40
|
|
42
|
41
|
const screenTransition = Platform.OS === 'ios' ? TransitionPresets.SlideFromRightIOS : TransitionPresets.ScaleFromCenterAndroid;
|
43
|
42
|
|
44
|
|
-function createScreenCollapsibleStack(
|
45
|
|
- name: string,
|
46
|
|
- Stack: any,
|
47
|
|
- component: any,
|
48
|
|
- title: string,
|
49
|
|
- useNativeDriver?: boolean,
|
50
|
|
- options?: { [key: string]: any }) {
|
51
|
|
- const {colors} = useTheme();
|
52
|
|
- const screenOptions = options != null ? options : {};
|
53
|
|
- return createCollapsibleStack(
|
54
|
|
- <Stack.Screen
|
55
|
|
- name={name}
|
56
|
|
- component={component}
|
57
|
|
- options={{
|
58
|
|
- title: title,
|
59
|
|
- headerStyle: {
|
60
|
|
- backgroundColor: colors.surface,
|
61
|
|
- },
|
62
|
|
- ...screenOptions,
|
63
|
|
- }}
|
64
|
|
- />,
|
65
|
|
- {
|
66
|
|
- collapsedColor: 'transparent',
|
67
|
|
- useNativeDriver: useNativeDriver != null ? useNativeDriver : true, // native driver does not work with webview
|
68
|
|
- }
|
69
|
|
- )
|
70
|
|
-}
|
71
|
|
-
|
72
|
|
-function getWebsiteStack(name: string, Stack: any, component: any, title: string) {
|
73
|
|
- return createScreenCollapsibleStack(name, Stack, component, title, false);
|
74
|
|
-}
|
75
|
|
-
|
76
|
43
|
const MainStack = createStackNavigator();
|
77
|
44
|
|
78
|
45
|
function MainStackComponent(props: { createTabNavigator: () => React.Node }) {
|