diff --git a/src/contexts/TravelerDataContext.js b/src/contexts/TravelerDataContext.js new file mode 100644 index 0000000..de057e3 --- /dev/null +++ b/src/contexts/TravelerDataContext.js @@ -0,0 +1,45 @@ +import { createContext, useContext, useEffect, useState } from "react"; +import { axiosReq } from "../api/axiosDefaults"; +import { useCurrentUser } from "./CurrentUserContext"; + +export const TravelerDataContext = createContext(); +export const SetTravelerDataContext = createContext(); + +export const useTravelerData = () => useContext(TravelerDataContext); +export const useSetTravelerDataContext = () => + useContext(SetTravelerDataContext); + +export const TravelerDataProvider = ({ children }) => { + const [travelerData, setTravelerData] = useState({ + pageTraveler: { results: [] }, + popularTravelers: { results: [] }, + }); + const { popularTravelers } = travelerData; + const currentUser = useCurrentUser(); + + useEffect(() => { + const handleMount = async () => { + try { + const { data } = await axiosReq.get( + "/travelers/?ordering=-followers_count" + ); + setTravelerData((prevState) => ({ + ...prevState, + popularTravelers: data, + })); + } catch (err) { + console.log(err); + } + }; + + handleMount(); + }, [currentUser]); +}; + +return ( + + + {children} + + +) \ No newline at end of file