import { useState, useEffect } from "react"; import MainCard from "../components/MainCard"; import ContentBox from "../components/ContentBox"; import Header from "../components/Header"; import DateAndTime from "../components/DateAndTime"; import Search from "../components/Search"; import MetricsBox from "../components/MetricsBox"; import MetricsCard from "../components/MetricsCard"; import UnitSwitch from "../components/UnitSwitch"; import LoadingScreen from "../components/LoadingScreen"; import ErrorScreen from "../components/ErrorScreen"; import styles from "../styles/Home.module.css"; const App = () => { const [input, setInput] = useState("Riga"); const [systemUsed, setSystemUsed] = useState("metric"); const [weatherData, setWeatherData] = useState(); const getData = async () => { const res = await fetch("api/data", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ input }), }); const data = await res.json(); setWeatherData({ ...data }); setInput(""); }; useEffect(() => { getData(); }, []); const enterKeydown = (e) => { if (e.keyCode === 13) { getData(); } }; const changeSystem = () => systemUsed == "metric" ? setSystemUsed("imperial") : setSystemUsed("metric"); return weatherData && !weatherData.message ? (
{ e.target.value = ""; e.target.placeholder = ""; }} onChange={(e) => setInput(e.target.value)} onKeyDown={(e) => { enterKeydown(e); e.target.placeholder = "Search a city..."; }} />
) : weatherData && weatherData.message ? ( (e.target.value = "")} onChange={(e) => setInput(e.target.value)} onKeyDown={(e) => enterKeydown(e)} /> ) : ( ); }; export default App;