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 [execute, setExecute] = useState(true); const [weatherData, setWeatherData] = useState(); const [systemUsed, setSystemUsed] = useState("metric"); useEffect(() => { 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(""); }; getData(); }, [execute]); 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) => { e.keyCode === 13 && setExecute(!execute); e.target.placeholder = "Search a city..."; }} />
) : weatherData && weatherData.message ? ( (e.target.value = "")} onChange={(e) => setInput(e.target.value)} onKeyDown={(e) => e.keyCode === 13 && setExecute(!execute)} /> ) : ( ); }; export default App;