"use client"; import { getHourlyForecast } from "@/app/actions"; import Temperature from "./Temperature"; import { HourlyForecast, WeatherContextType} from "@/types/types"; import { createContext, useContext, useEffect, useState } from "react"; import { defaultHourlyForecast } from "@/app/defaultState"; import { LocationContext } from "@/app/page"; import WeatherIcon from "./WeatherIcon"; export const WeatherContext = createContext({ weather: defaultHourlyForecast, setWeather: () => {} // Default function, does nothing }); export default function WeatherNow() { const { geoLocation } = useContext(LocationContext) const [weather, setWeather] = useState(defaultHourlyForecast); const contextValue: WeatherContextType = { weather, setWeather }; useEffect(() => { let mounted = true; getHourlyForecast(geoLocation).then((data) => { if (mounted) { setWeather(data); } }); return () => { mounted = false; }; }, [geoLocation]); return ( <>

Here is the current weather in {geoLocation.name}

); }