import "react-native-gesture-handler";
import React, { useEffect } from "react";
import { NavigationContainer } from "@react-navigation/native";
import { Provider, useDispatch } from "react-redux";
import store from "./store";
import { useFonts } from "expo-font";
import RootNavigation from "./navigation/RootNavigation";
import { getData } from "./service/asyncStorage";
import { JWT_REFRESH_TOKEN, JWT_TOKEN } from "./constants/localStorage";
import { fetchUserSuccess } from "./store/actions/login/loginActions";
import { addHeaderToken } from "./request";
function App() {
const dispatch = useDispatch();
const getToken = async () => {
const token = await getData(JWT_TOKEN);
const refreshToken = await getData(JWT_REFRESH_TOKEN);
if (token) {
addHeaderToken(token);
}
if (token !== undefined && refreshToken !== undefined) {
dispatch(fetchUserSuccess({ jwt: token, refreshToken }));
}
};
useEffect(() => {
getToken();
}, []);
return (
);
}
const AppWrapper = () => {
const [fontsLoaded] = useFonts({
"poppins-regular": require("./assets/fonts/Poppins-Regular.ttf"),
"poppins-semibold": require("./assets/fonts/Poppins-SemiBold.ttf"),
});
if (!fontsLoaded) {
return null;
}
return (
);
};
export default AppWrapper;