import React, { useEffect } from "react";
import { Restart } from "fiction-expo-restart";
import { I18nManager } from "react-native";
import * as Linking from "expo-linking";
import Svg, { G, Path } from "react-native-svg";
import { NavigationContainer } from "@react-navigation/native";
import { createNativeStackNavigator } from "@react-navigation/native-stack";
import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
import { connect } from "react-redux";
import { user, publicApi } from "../src/redux/actions";
//components
import OrderDetails from "../src/screens/OrderDetails";
import OrdersFollowUp from "../src/screens/OrdersFollowUp";
import Splash from "../src/screens/Splash";
import Home from "../src/screens/Home";
import Products from "../src/screens/Products";
import Login from "../src/screens/Login";
import Otp from "../src/screens/Otp";
import Product from "../src/screens/Product";
import AR from "../src/screens/AR";
import QR from "../src/screens/QR";
import QRContent from "../src/screens/QRContent";
import Faq from "../src/screens/Faq";
import Activation from "../src/screens/Activation";
import Videos from "../src/screens/Videos";
import Video from "../src/screens/Video";
import VideoDisplay from "../src/screens/VideoDisplay";
import Contact from "../src/screens/Contact";
import Tests from "../src/screens/Tests";
import ShoppingCart from "../src/screens/ShoppingCart";
import DeliveryForm from "../src/screens/DeliveryForm";
import Address from "../src/screens/Address";
import Profile from "../src/screens/Profile";
import ProfileBookmark from "../src/screens/Profile/components/ProfileBookmark";
import ProfileAddress from "../src/screens/Profile/components/ProfileAddress";
import Blogs from "../src/screens/Blogs";
import Blog from "../src/screens/Blog";
import Sample from "../src/screens/Product/components/Sample";
import Info from "../src/screens/Product/components/Info";
import Rules from "../src/screens/Rules/index";
import MyCourses from "../src/screens/Profile/components/MyCourses";
//style
import Colors from "../src/constants/Colors";
const Tab = createBottomTabNavigator();
const BottomTabNavigator = ({}) => {
const [headerShown, setHeaderShown] = React.useState(true);
React.useEffect(() => {
setTimeout(() => {
setHeaderShown(false);
}, 600);
}, []);
return (
focused ? (
) : (
),
}}
/>
focused ? (
) : (
),
}}
/>
focused ? (
) : (
),
}}
/>
focused ? (
) : (
),
}}
/>
focused ? (
) : (
),
contentStyle: {
backgroundColor: "white",
},
}}
/>
);
};
const HomeStack = createNativeStackNavigator();
const HomeStackScreen = () => {
return (
);
};
const ProductsStack = createNativeStackNavigator();
const ProductsStackScreen = () => {
return (
);
};
const VODStack = createNativeStackNavigator();
const VODStackScreen = () => {
return (
);
};
const CARTStack = createNativeStackNavigator();
const CARTStackScreen = () => {
return (
);
};
const PROFILEStack = createNativeStackNavigator();
const PROFILEStackScreen = () => {
return (
);
};
const prefix = Linking.createURL("/");
const Stack = createNativeStackNavigator();
const Navigation = ({ getStatus, isLogin, userProducts, ltr, setLTR }) => {
const linking = {
prefixes: [prefix],
};
const setDirection = async () => {
setLTR();
await I18nManager.allowRTL(false);
};
useEffect(() => {
if (I18nManager.isRTL && !ltr) {
setDirection();
Restart();
}
getStatus();
}, []);
return (
);
};
const mapStateToProps = (state) => ({
isLogin: state.user.status,
userProducts: state.userProduct.list,
theme: state.publicApi.theme,
ltr: state.publicApi.ltr,
});
const mapDispatchToProps = {
getStatus: user.getStatus,
setLTR: publicApi.setLTR,
};
export default connect(mapStateToProps, mapDispatchToProps)(Navigation);