diff --git a/src/navigation/MainNavigator.js b/src/navigation/MainNavigator.js index 7c44680..5db632f 100644 --- a/src/navigation/MainNavigator.js +++ b/src/navigation/MainNavigator.js @@ -29,7 +29,6 @@ import {BlueMindWebsiteScreen} from "../screens/Websites/BlueMindWebsiteScreen"; import ProfileScreen from "../screens/Amicale/ProfileScreen"; import ClubListScreen from "../screens/Amicale/Clubs/ClubListScreen"; import ClubAboutScreen from "../screens/Amicale/Clubs/ClubAboutScreen"; -import AmicaleContactScreen from "../screens/Amicale/AmicaleContactScreen"; import ClubDisplayScreen from "../screens/Amicale/Clubs/ClubDisplayScreen"; const defaultScreenOptions = { @@ -190,13 +189,6 @@ function MainStackComponent(props: { createTabNavigator: () => React.Node }) { title: i18n.t('screens.vote'), }} /> - ); } diff --git a/src/navigation/TabNavigator.js b/src/navigation/TabNavigator.js index 13f9e76..7562dc6 100644 --- a/src/navigation/TabNavigator.js +++ b/src/navigation/TabNavigator.js @@ -20,6 +20,7 @@ import GroupSelectionScreen from "../screens/Planex/GroupSelectionScreen"; import CustomTabBar from "../components/Tabbar/CustomTabBar"; import WebsitesHomeScreen from "../screens/Services/ServicesScreen"; import ServicesSectionScreen from "../screens/Services/ServicesSectionScreen"; +import AmicaleContactScreen from "../screens/Amicale/AmicaleContactScreen"; const defaultScreenOptions = { gestureEnabled: true, @@ -73,6 +74,7 @@ function ServicesStackComponent() { > {createScreenCollapsibleStack("index", ServicesStack, WebsitesHomeScreen, i18n.t('screens.services'))} {createScreenCollapsibleStack("services-section", ServicesStack, ServicesSectionScreen, "SECTION")} + {createScreenCollapsibleStack("amicale-contact", ServicesStack, AmicaleContactScreen, i18n.t('screens.amicaleAbout'), true, {...modalTransition})} ); } diff --git a/src/screens/Amicale/AmicaleContactScreen.js b/src/screens/Amicale/AmicaleContactScreen.js index 544dad7..ddc10b1 100644 --- a/src/screens/Amicale/AmicaleContactScreen.js +++ b/src/screens/Amicale/AmicaleContactScreen.js @@ -1,12 +1,17 @@ // @flow import * as React from 'react'; -import {FlatList, Image, View} from 'react-native'; +import {Animated, FlatList, Image, View} from 'react-native'; import {Card, List, Text, withTheme} from 'react-native-paper'; import i18n from 'i18n-js'; import {Linking} from "expo"; +import {Collapsible} from "react-navigation-collapsible"; +import CustomTabBar from "../../components/Tabbar/CustomTabBar"; +import {withCollapsible} from "../../utils/withCollapsible"; -type Props = {}; +type Props = { + collapsibleStack: Collapsible +}; type State = {}; @@ -123,14 +128,22 @@ class AmicaleContactScreen extends React.Component { }; render() { + const {containerPaddingTop, scrollIndicatorInsetTop, onScroll} = this.props.collapsibleStack; return ( - //$FlowFixMe - ); } } -export default withTheme(AmicaleContactScreen); +export default withCollapsible(withTheme(AmicaleContactScreen)); diff --git a/src/screens/Services/ServicesScreen.js b/src/screens/Services/ServicesScreen.js index 8a64213..de959df 100644 --- a/src/screens/Services/ServicesScreen.js +++ b/src/screens/Services/ServicesScreen.js @@ -12,6 +12,7 @@ import {Avatar, Button, Card, Divider, List, Title, TouchableRipple, withTheme} import type {CustomTheme} from "../../managers/ThemeManager"; import ConnectionManager from "../../managers/ConnectionManager"; import i18n from 'i18n-js'; +import MaterialHeaderButtons, {Item} from "../../components/Overrides/CustomHeaderButton"; type Props = { navigation: Object, @@ -67,12 +68,6 @@ class ServicesScreen extends React.Component { image: AMICALE_IMAGE, onPress: () => nav.navigate("profile"), }, - { - title: i18n.t('screens.amicaleAbout'), - subtitle: "CONTACT", - image: AMICALE_IMAGE, - onPress: () => nav.navigate("amicale-contact"), - }, { title: i18n.t('screens.vote'), subtitle: "ELECTIONS", @@ -174,9 +169,18 @@ class ServicesScreen extends React.Component { componentDidMount() { this.props.navigation.addListener('focus', this.onFocus); - + this.props.navigation.setOptions({ + headerRight: this.getAboutButton, + }); } + getAboutButton = () => + + + ; + + onAboutPress = () => this.props.navigation.navigate('amicale-contact'); + onFocus = () => { this.handleNavigationParams(); this.setState({isLoggedIn: ConnectionManager.getInstance().isLoggedIn()})