add react-toastify for notifications and implement weather fetching functionality

This commit is contained in:
2025-07-27 13:33:54 +02:00
parent a1f4de1a8b
commit 5f514d4578
8 changed files with 97 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
import { myToast } from "./toastify";
export const fetchWeather = async (city: string, apiKey: string) => {
// Get location data
const location = await fetch(
`http://api.openweathermap.org/geo/1.0/direct?q=${city}&appid=${apiKey}`
).then((response) => {
if (response.status === 401) {
myToast("Request Failed! Check API key and city name.", "error");
throw new Error("Network response was not ok");
} else if (response.ok) {
return response.json();
}
});
const lat = location[0].lat;
const lon = location[0].lon;
// Get weather data
const weather = await fetch(
`https://api.openweathermap.org/data/2.5/weather?lat=${lat}&lon=${lon}&appid=${apiKey}`
).then((response) => response.json());
console.log(weather);
myToast("Successfully fetched weather data", "success");
};