31 lines
838 B
TypeScript
31 lines
838 B
TypeScript
"use client";
|
|
|
|
import { getForecast } from "@/app/actions";
|
|
import Temperature from "./Temperature";
|
|
import { Forecast, coordType } from "@/types/types";
|
|
import { useEffect, useState } from "react";
|
|
import { defaultForecast } from "@/app/defaultState";
|
|
|
|
export default function WeatherNow(props: { geoLocation: coordType }) {
|
|
// const weather = getForecast(props.geoLocation);
|
|
const [weather, setWeather] = useState<Forecast>(defaultForecast);
|
|
useEffect(() => {
|
|
let mounted = true;
|
|
getForecast(props.geoLocation).then((data) => {
|
|
if (mounted) {
|
|
setWeather(data);
|
|
}
|
|
});
|
|
return () => {
|
|
mounted = false;
|
|
};
|
|
}, [props.geoLocation]);
|
|
return (
|
|
<>
|
|
<h1>Here is the current weather in {weather.name}</h1>
|
|
<Temperature tempInfo={weather?.main} />
|
|
<p></p>
|
|
</>
|
|
);
|
|
}
|