diff --git a/src/caj/Navigation.tsx b/src/caj/Navigation.tsx index 6979615..ffbb710 100644 --- a/src/caj/Navigation.tsx +++ b/src/caj/Navigation.tsx @@ -9,7 +9,7 @@ import {appVarActions} from '@caj/configs/appVarReducer'; import imgSrc from '@caj/img/maimg.png'; import {placeholder} from '@caj/lang/default'; -import {getBackgroundColor} from '@caj/configs/colors'; +import {defaultHeaderStyle, themeNB, themeSelector} from '@caj/configs/colors'; import {saveVarChanges} from '@caj/helper/appData'; import {Box, Input, VStack, Center, Avatar, Text, Button} from 'native-base'; @@ -20,11 +20,14 @@ import { LinkingOptions, NavigationContainer, NavigatorScreenParams, + ParamListBase, RouteProp, useNavigation, + useRoute, } from '@react-navigation/native'; import { createNativeStackNavigator, + NativeStackNavigationOptions, NativeStackNavigationProp, } from '@react-navigation/native-stack'; import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; @@ -48,6 +51,8 @@ import { } from './components/NotLoggedIn'; import ChatMainScreen from './components/chat/screen/main'; import ChatScreenStack from './components/chat/screen/main'; +import MaterialIcon from 'react-native-vector-icons/MaterialIcons'; +import {ThemeMode} from './configs/appVar'; const styles = StyleSheet.create({ container: { @@ -70,7 +75,10 @@ export type RootScreenNavigationProp = export default function Navigation() { return ( - + (); + +export function WebBackButtonOptions( + nav: NativeStackNavigationProp, + _theme: ThemeMode, + place?: 'registration', +): NativeStackNavigationOptions { + if (Platform.OS === 'web') { + const theme = themeNB(_theme); + + return { + headerLeft: () => ( + { + nav.pop(); + }} + size={32} + color={defaultHeaderStyle(_theme, place).headerTintColor} + /> + ), + }; + } + + return {}; +} diff --git a/src/caj/components/NotLoggedIn.tsx b/src/caj/components/NotLoggedIn.tsx index f19dde9..a907bc1 100644 --- a/src/caj/components/NotLoggedIn.tsx +++ b/src/caj/components/NotLoggedIn.tsx @@ -12,7 +12,7 @@ import { userNameOptions, XToken, } from '@caj/configs/types'; -import {RootScreenNavigationProp} from '@caj/Navigation'; +import {RootScreenNavigationProp, WebBackButtonOptions} from '@caj/Navigation'; import {RootState, store} from '@caj/redux/store'; import {useNavigation} from '@react-navigation/native'; import { @@ -135,15 +135,20 @@ function RegisterScreen() { (state: RootState) => state.appVariables.preferences.theme, ); + const navigation = useNavigation(); + return ( - + @@ -152,8 +157,6 @@ function RegisterScreen() { options={{ animation: 'slide_from_right', title: lang.account.registration.registration, - headerShown: true, - ...defaultHeaderStyle(theme, 'registration'), }} component={StepTwo} /> @@ -162,8 +165,6 @@ function RegisterScreen() { options={{ animation: 'slide_from_right', title: lang.account.registration.registration, - headerShown: true, - ...defaultHeaderStyle(theme, 'registration'), }} component={StepFinal} /> @@ -172,8 +173,6 @@ function RegisterScreen() { options={{ animation: 'slide_from_right', title: lang.account.login.title, - headerShown: true, - ...defaultHeaderStyle(theme, 'registration'), }} component={Login} /> diff --git a/src/caj/tabs/main/ChatTab.tsx b/src/caj/tabs/main/ChatTab.tsx index 2073490..ab5c763 100644 --- a/src/caj/tabs/main/ChatTab.tsx +++ b/src/caj/tabs/main/ChatTab.tsx @@ -4,9 +4,13 @@ import ChatScreenStack, { } from '@caj/components/chat/screen/main'; import NotLoggedIn from '@caj/components/NotLoggedIn'; import {defaultHeaderStyle} from '@caj/configs/colors'; -import {RootStackNavigatorParamList} from '@caj/Navigation'; +import { + HomeScreenNavigationProp, + RootStackNavigatorParamList, + WebBackButtonOptions, +} from '@caj/Navigation'; import {RootState} from '@caj/redux/store'; -import {NavigatorScreenParams} from '@react-navigation/native'; +import {NavigatorScreenParams, useNavigation} from '@react-navigation/native'; import { createNativeStackNavigator, NativeStackNavigationProp, @@ -32,8 +36,10 @@ function ChatTab() { (state: RootState) => state.appVariables.preferences.theme, ); + const navigation = useNavigation(); + return ( - + );