|
|
|
import React from 'react';
|
|
|
|
import { NavigationContainer } from "@react-navigation/native";
|
|
|
|
import { createNativeStackNavigator } from "@react-navigation/native-stack";
|
|
|
|
import { RootStackParamList } from './types';
|
|
|
|
import * as Screens from './screens';
|
|
|
|
import Toast from "react-native-toast-message";
|
|
|
|
|
|
|
|
const Stack = createNativeStackNavigator<RootStackParamList>();
|
|
|
|
|
|
|
|
export const AppNavigator = () => {
|
|
|
|
return (
|
|
|
|
<NavigationContainer>
|
|
|
|
<Stack.Navigator
|
|
|
|
screenOptions={{
|
|
|
|
headerShown: false,
|
|
|
|
}}
|
|
|
|
>
|
|
|
|
<Stack.Screen name="CountrySelect" component={Screens.CountrySelect} />
|
|
|
|
<Stack.Screen
|
|
|
|
name="Login"
|
|
|
|
component={Screens.LoginScreen}
|
|
|
|
options={{
|
|
|
|
presentation: "modal",
|
|
|
|
animation: "slide_from_bottom",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "vertical",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="MainTabs"
|
|
|
|
component={Screens.TabNavigator}
|
|
|
|
options={{
|
|
|
|
gestureEnabled: false,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="EmailLogin"
|
|
|
|
component={Screens.EmailLoginScreen}
|
|
|
|
options={{
|
|
|
|
presentation: "modal",
|
|
|
|
animation: "slide_from_bottom",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "vertical",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Search"
|
|
|
|
component={Screens.SearchScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="SearchResult"
|
|
|
|
component={Screens.SearchResultScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ImageSearchResultScreen"
|
|
|
|
component={Screens.ImageSearchResultScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ProductDetail"
|
|
|
|
component={Screens.ProductDetailScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Balance"
|
|
|
|
component={Screens.BalanceScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ShippingDetailsSection"
|
|
|
|
component={Screens.ShippingDetailsSection}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="InquiryScreen"
|
|
|
|
component={Screens.InquiryScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Recipient"
|
|
|
|
component={Screens.Recipient}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="AddRess"
|
|
|
|
component={Screens.AddRess}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="SettingList"
|
|
|
|
component={Screens.SettingList}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="CountrySetting"
|
|
|
|
component={Screens.CountrySetting}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="MyAddress"
|
|
|
|
component={Screens.MyAddress}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="CartScreen"
|
|
|
|
component={Screens.CartScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="PaymentSuccessScreen"
|
|
|
|
component={Screens.PaymentSuccessScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="PayError"
|
|
|
|
component={Screens.PayError}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="MyAccount"
|
|
|
|
component={Screens.MyAccount}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Google"
|
|
|
|
component={Screens.GoogleScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ConfirmOrder"
|
|
|
|
component={Screens.ConfirmOrder}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Pay"
|
|
|
|
component={Screens.Pay}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Status"
|
|
|
|
component={Screens.Status}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="OrderDetails"
|
|
|
|
component={Screens.OrderDetails}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="TikTokScreen"
|
|
|
|
component={Screens.TikTokScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="BrowseHistoryScreen"
|
|
|
|
component={Screens.BrowseHistoryScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Collection"
|
|
|
|
component={Screens.Collection}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="MemberIntroduction"
|
|
|
|
component={Screens.MemberIntroduction}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="CompanyScreen"
|
|
|
|
component={Screens.CompanyScreen}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="PreviewAddress"
|
|
|
|
component={Screens.PreviewAddress}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="AddressList"
|
|
|
|
component={Screens.AddressList}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="AddAddress"
|
|
|
|
component={Screens.AddAddress}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="EditAddress"
|
|
|
|
component={Screens.EditAddress}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="PaymentMethod"
|
|
|
|
component={Screens.PaymentMethod}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ShippingFee"
|
|
|
|
component={Screens.ShippingFee}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="PreviewOrder"
|
|
|
|
component={Screens.PreviewOrder}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="ForgotPhonePassword"
|
|
|
|
component={Screens.ForgotPhonePassword}
|
|
|
|
options={{
|
|
|
|
animation: "slide_from_right",
|
|
|
|
gestureEnabled: true,
|
|
|
|
gestureDirection: "horizontal",
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
</Stack.Navigator>
|
|
|
|
<Toast />
|
|
|
|
</NavigationContainer>
|
|
|
|
);
|
|
|
|
};
|