import { createNativeStackNavigator } from "@react-navigation/native-stack";
import HomeUserNotLoggedIn from "@screens/HomeUserNotLoggedIn";
import PaymentResultScreen from "@screens/PaymentResultScreen";
import UserLoginScreen from "@screens/UserLoginScreen";
import WaveQrCodePaymentScreen from "@screens/WaveQrCodePaymentScreen";
import { AppBottomTabsNavigator } from "./AppBottomTabsNavigator";
import type { ImainStackNavigator } from "./Types";

const Stack = createNativeStackNavigator<ImainStackNavigator>();

const AppMainStackNavigator = () => {
	return (
		<Stack.Navigator
			initialRouteName="homeUserNotLoggedIn"
			screenOptions={{ headerShown: false }}
		>
			<Stack.Screen name="homeUserNotLoggedIn" component={HomeUserNotLoggedIn} />
			<Stack.Screen name="userLoginScreen" component={UserLoginScreen} />
			<Stack.Screen name="appBottomTabsNavigator" component={AppBottomTabsNavigator} />
			<Stack.Screen name="paymentResultScreen" component={PaymentResultScreen} />
			<Stack.Screen name="waveQrCodePaymentScreen" component={WaveQrCodePaymentScreen} />
		</Stack.Navigator>
	);
};

export default AppMainStackNavigator;
