import { useState, useEffect } from "react"; import { format } from "date-fns"; import { getWeather, getForecast, getRandomImage } from "./api"; export default function Dashboard() { const [time, setTime] = useState(new Date()); const [weather, setWeather] = useState(null); const [forecast, setForecast] = useState([]); const [bgImage, setBgImage] = useState(""); useEffect(() => { const interval = setInterval(() => setTime(new Date()), 1000); fetchWeatherData(); return () => clearInterval(interval); }, []); async function fetchWeatherData() { try { const weatherData = await getWeather(); setWeather(weatherData); const forecastData = await getForecast(); setForecast(forecastData); const imageUrl = await getRandomImage(weatherData.description); setBgImage(imageUrl); } catch (error) { console.error("Error fetching weather data:", error); } } return (
{/* Left Panel */}

{format(time, "HH:mm:ss")}

{format(time, "EEEE, MMM d")}

{weather && (

{weather.temp}°C

{weather.description}

)}
{forecast.map((day, index) => (

{day.date}: {day.temp}°C

))}
{/* Right Panel - Google Calendar */}
); }