Commit 45193e6d by G

renaming, refactoring a good bit the navigation system

parent 9d4c6ff4
import { Entypo } from "@expo/vector-icons";
import { FontAwesome } from "@expo/vector-icons";
import { Ionicons } from "@expo/vector-icons";
import { Entypo, FontAwesome, Ionicons } from "@expo/vector-icons";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { useTheme } from "@shopify/restyle";
// import palette
......@@ -10,7 +8,7 @@ import Text from "../components/bases/Text";
import PaymentStackNavigator from "./PaymentStackNavigation";
const Tab = createBottomTabNavigator();
export const BottomTabs = () => {
export const AppBottomTabsNavigator = () => {
const theme = useTheme<Theme>();
return (
......
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import HomeUserNotLoggedIn from "@screens/HomeUserNotLoggedIn";
import UserLoginScreen from "@screens/UserLoginScreen";
import { BottomTabs } from "./BottomTabs";
import type { UnloggedUserStackParamList } from "./Types";
import { AppBottomTabsNavigator } from "./AppBottomTabsNavigator";
import type { ImainStackNavigator } from "./Types";
const Stack = createNativeStackNavigator<UnloggedUserStackParamList>();
const Stack = createNativeStackNavigator<ImainStackNavigator>();
const UnloggedUserStackNavigation = () => {
const AppMainStackNavigator = () => {
return (
<Stack.Navigator
initialRouteName="homeUserNotLoggedIn"
......@@ -14,9 +14,9 @@ const UnloggedUserStackNavigation = () => {
>
<Stack.Screen name="homeUserNotLoggedIn" component={HomeUserNotLoggedIn} />
<Stack.Screen name="userLoginScreen" component={UserLoginScreen} />
<Stack.Screen name="bottomTabs" component={BottomTabs} />
<Stack.Screen name="appBottomTabsNavigator" component={AppBottomTabsNavigator} />
</Stack.Navigator>
);
};
export default UnloggedUserStackNavigation;
export default AppMainStackNavigator;
import { useUserAuthenticationContext } from "@/contexts/UserAuthenticationContext";
import UnloggedUserStackNavigation from "./UnloggedUserStackNavigation";
import AppMainStackNavigator from "./AppMainStackNavigator";
const InitialNavigationHandler = () => {
const { isAuthenticated } = useUserAuthenticationContext();
console.log("isAuthenticated", isAuthenticated);
return <UnloggedUserStackNavigation />;
return <AppMainStackNavigator />;
};
export default InitialNavigationHandler;
......@@ -3,9 +3,9 @@ import HomePageWithPaymentOptions from "@screens/HomePageWithPaymentOptions";
import NumberAndOtpForPaymentScreen from "@screens/NumberAndOtpForPaymentScreen";
import PaymentAmountInputScreen from "@screens/PaymentAmountInputScreen";
import PaymentResultScreen from "@screens/PaymentResultScreen";
import type { PaymentStackParamList } from "./Types";
import type { IpaymentStackNavigator } from "./Types";
const Stack = createNativeStackNavigator<PaymentStackParamList>();
const Stack = createNativeStackNavigator<IpaymentStackNavigator>();
const PaymentStackNavigator = () => {
return (
......
import type { PaymentCode } from "@/utils/requests/Types";
import type { NativeStackScreenProps } from "@react-navigation/native-stack";
export type PaymentStackParamList = {
export type IpaymentStackNavigator = {
homePageWithPaymentOptions: undefined;
numberAndOtpForPaymentScreen: undefined;
paymentAmountInputScreen: {
paymentType: PaymentCode;
};
homeUserNotLoggedIn: undefined;
userLoginScreen: undefined;
// homeUserNotLoggedIn: undefined;
// userLoginScreen: undefined;
paymentResultScreen: undefined;
};
export type PaymentStackScreenProps<T extends keyof PaymentStackParamList> = NativeStackScreenProps<
PaymentStackParamList,
T,
"PaymentStackParamList"
>;
export type PaymentStackScreenProps<T extends keyof IpaymentStackNavigator> =
NativeStackScreenProps<IpaymentStackNavigator, T, "IpaymentStackNavigator">;
export type PaymentStackScreenComponentProps<T extends keyof PaymentStackParamList> = React.FC<
export type PaymentStackScreenComponentProps<T extends keyof IpaymentStackNavigator> = React.FC<
PaymentStackScreenProps<T>
>;
export type UnloggedUserStackParamList = {
export type ImainStackNavigator = {
homeUserNotLoggedIn: undefined;
userLoginScreen: undefined;
bottomTabs: undefined;
appBottomTabsNavigator: undefined;
};
export type UnloggedUserStackScreenProps<T extends keyof UnloggedUserStackParamList> =
NativeStackScreenProps<UnloggedUserStackParamList, T, "UnloggedUserStackParamList">;
export type UnloggedUserStackScreenProps<T extends keyof ImainStackNavigator> =
NativeStackScreenProps<ImainStackNavigator, T, "ImainStackNavigator">;
export type UnloggedUserStackScreenComponentProps<T extends keyof UnloggedUserStackParamList> =
React.FC<UnloggedUserStackScreenProps<T>>;
export type UnloggedUserStackScreenComponentProps<T extends keyof ImainStackNavigator> = React.FC<
UnloggedUserStackScreenProps<T>
>;
......@@ -10,7 +10,7 @@ const HomeUserNotLoggedIn: UnloggedUserStackScreenComponentProps<"homeUserNotLog
const { isAuthenticated } = useUserAuthenticationContext();
if (isAuthenticated) {
navigation.replace("bottomTabs");
navigation.replace("appBottomTabsNavigator");
}
return (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment