updated globalContext

This commit is contained in:
Juthatip McDevitt 2024-03-21 21:34:03 -05:00
parent b1a34bfb6b
commit 84bb179392

View file

@ -0,0 +1,58 @@
"use Client"
import axios from "axios";
import React, { createContext, useContext, useEffect, useState } from "react"
const GlobalContext = createContext();
const GlobalContextUpdate = createContext();
export const GlobalContextProvider = ({children}) => {
const [state, setState] = useState();
const [forecast, setForecast] = useState({});
const [airPollution, setAirPollution] = useState({});
const [dailyForecast, setDailyForecast] = useState({});
const fetchForecast = async() => {
try {
const res = await axios.get("api/weather")
setForecast(res.data)
} catch (error) {
console.log("Error fetching forecast data:", error.message)
}
};
const fetchAirPollution = async() => {
try {
const res = await axios.get("api/pollution")
setAirPollution(res.data)
} catch (error) {
console.log("Error fetching air pollution data:", error.message)
}
};
const fetchDailyForecast = async() => {
try {
const res = await axios.get("api/dailyForecast")
setDailyForecast(res.data)
} catch (error) {
console.log("Error fetching air pollution data:", error.message)
}
}
useEffect(() => {
fetchForecast();
fetchAirPollution();
fetchDailyForecast();
}, []);
return(
<GlobalContext.Provider value={{forecast, airPollution, dailyForecast}}>
<GlobalContextUpdate.Provider>{children}</GlobalContextUpdate.Provider>
</GlobalContext.Provider>
)
};
export const useGlobalContext = () => useContext(GlobalContext);
export const useGlobalContextUpdate = () => useContext(GlobalContextUpdate);