51 lines
2.1 KiB
TypeScript
51 lines
2.1 KiB
TypeScript
import React from 'react';
|
|
import { createStackNavigator } from '@react-navigation/stack';
|
|
import { NavigatorScreenParams } from '@react-navigation/native';
|
|
import { MainTabNavigator, MainTabParamList } from './mainTabNavigator';
|
|
import {
|
|
ProviderListScreen,
|
|
ProviderDetailsScreen,
|
|
CartScreen,
|
|
CheckoutAddressScreen,
|
|
CheckoutPaymentScreen,
|
|
OrderConfirmedScreen,
|
|
OrderTrackingScreen,
|
|
LiveTrackingScreen,
|
|
OrderDeliveredScreen,
|
|
HelpSupportScreen,
|
|
} from '@features/screens';
|
|
|
|
export type AppStackParamList = {
|
|
MainTabs: NavigatorScreenParams<MainTabParamList> | undefined;
|
|
ProviderListScreen: { category?: string } | undefined;
|
|
ProviderDetailsScreen: { providerId: string; providerName?: string };
|
|
CartScreen: undefined;
|
|
CheckoutAddressScreen: undefined;
|
|
CheckoutPaymentScreen: undefined;
|
|
OrderConfirmedScreen: { orderId?: string } | undefined;
|
|
OrderTrackingScreen: { orderId?: string } | undefined;
|
|
LiveTrackingScreen: { orderId?: string } | undefined;
|
|
OrderDeliveredScreen: { orderId?: string } | undefined;
|
|
HelpSupportScreen: undefined;
|
|
};
|
|
|
|
const Stack = createStackNavigator<AppStackParamList>();
|
|
|
|
export const AppStack: React.FC = () => {
|
|
return (
|
|
<Stack.Navigator screenOptions={{ headerShown: false }}>
|
|
<Stack.Screen name="MainTabs" component={MainTabNavigator} />
|
|
<Stack.Screen name="ProviderListScreen" component={ProviderListScreen} />
|
|
<Stack.Screen name="ProviderDetailsScreen" component={ProviderDetailsScreen} />
|
|
<Stack.Screen name="CartScreen" component={CartScreen} />
|
|
<Stack.Screen name="CheckoutAddressScreen" component={CheckoutAddressScreen} />
|
|
<Stack.Screen name="CheckoutPaymentScreen" component={CheckoutPaymentScreen} />
|
|
<Stack.Screen name="OrderConfirmedScreen" component={OrderConfirmedScreen} />
|
|
<Stack.Screen name="OrderTrackingScreen" component={OrderTrackingScreen} />
|
|
<Stack.Screen name="LiveTrackingScreen" component={LiveTrackingScreen} />
|
|
<Stack.Screen name="OrderDeliveredScreen" component={OrderDeliveredScreen} />
|
|
<Stack.Screen name="HelpSupportScreen" component={HelpSupportScreen} />
|
|
</Stack.Navigator>
|
|
);
|
|
};
|