diff --git a/src/caj/Navigation.tsx b/src/caj/Navigation.tsx index 0eaf78a..6979615 100644 --- a/src/caj/Navigation.tsx +++ b/src/caj/Navigation.tsx @@ -1,6 +1,6 @@ import React, {useState, useEffect} from 'react'; -import {StyleSheet, Appearance, Dimensions} from 'react-native'; +import {StyleSheet, Appearance, Dimensions, Platform} from 'react-native'; import {SafeAreaProvider, SafeAreaView} from 'react-native-safe-area-context'; import {useSelector, useDispatch} from 'react-redux'; @@ -16,9 +16,11 @@ import {Box, Input, VStack, Center, Avatar, Text, Button} from 'native-base'; import {View} from 'react-native'; import { + getFocusedRouteNameFromRoute, LinkingOptions, NavigationContainer, NavigatorScreenParams, + RouteProp, useNavigation, } from '@react-navigation/native'; import { @@ -44,9 +46,7 @@ import { LoginStackNavigatorParamList, RegisterScreenAnim, } from './components/NotLoggedIn'; -import ChatMainScreen, { - ChatMainStackNavigatorParamList, -} from './components/chat/screen/main'; +import ChatMainScreen from './components/chat/screen/main'; import ChatScreenStack from './components/chat/screen/main'; const styles = StyleSheet.create({ @@ -63,7 +63,6 @@ export const linking: LinkingOptions<{}> = { export type RootStackNavigatorParamList = { Home: NavigatorScreenParams; Register: NavigatorScreenParams; - Chat: NavigatorScreenParams; }; export type RootScreenNavigationProp = @@ -73,11 +72,12 @@ export default function Navigation() { return ( - ); @@ -92,6 +92,9 @@ export type HomeStackNavigatorParamList = { ChatList: NavigatorScreenParams; }; +export type HomeScreenNavigationProp = + NativeStackNavigationProp; + function AccountTabAnim(props: any) { return ( @@ -123,12 +126,34 @@ function ChatTabAnim(props: any) { } function HomeStack() { + const getTabBarVisibility = ( + route: RouteProp, + ) => { + const routeName = getFocusedRouteNameFromRoute(route); + const hideOnScreens = ['Chat']; // put here name of screen where you want to hide tabBar + if (routeName !== undefined) { + return hideOnScreens.indexOf(routeName) <= -1; + } else { + return true; + } + }; + return ( - + { + return { + tabBarStyle: { + display: getTabBarVisibility(route) ? 'flex' : 'none', + }, + }; + }} + /> ); } diff --git a/src/caj/components/NotLoggedIn.tsx b/src/caj/components/NotLoggedIn.tsx index d745d13..f19dde9 100644 --- a/src/caj/components/NotLoggedIn.tsx +++ b/src/caj/components/NotLoggedIn.tsx @@ -68,7 +68,7 @@ export default function NotLoggedIn() { ); const lang = useSelector((state: RootState) => state.appVariables.lang); - const theme = useSelector( + const theme = useSelector( (state: RootState) => state.appVariables.preferences.theme, ); @@ -81,7 +81,7 @@ export default function NotLoggedIn() { return ( {lang.appName} - {lang.appNameDesc} + {lang.appNameDesc}