diff --git a/pages/index.js b/pages/index.js index c3436cc..67d6878 100644 --- a/pages/index.js +++ b/pages/index.js @@ -7,7 +7,7 @@ export default function Home() { const [systemUsed, setSystemUsed] = useState("metric"); const [weatherData, setWeatherData] = useState(); - const clickHandler = async () => { + const getData = async () => { const res = await fetch("/api/data", { method: "POST", headers: { "Content-Type": "application/json" }, @@ -21,10 +21,14 @@ export default function Home() { const something = (event) => { if (event.keyCode === 13) { - clickHandler(); + getData(); } }; + useEffect(() => { + getData(); + }, []); + function degToCompass(num) { var val = Math.floor(num / 22.5 + 0.5); var arr = [ @@ -56,8 +60,16 @@ export default function Home() { return time; }; + const ctoF = (c) => (c * 9) / 5 + 32; + const mpsToMph = (mps) => (mps * 2.236936).toPrecision(3); + const changeSystem = () => { console.log("system changed"); + if (systemUsed == "metric") { + setSystemUsed("imperial"); + } else { + setSystemUsed("metric"); + } }; var weekday = [ @@ -70,8 +82,6 @@ export default function Home() { "Saturday", ]; - // console.log(convertTime(weatherData.dt, weatherData.timezone)); - return (
{weatherData && ( @@ -91,9 +101,18 @@ export default function Home() { />

- {Math.round(weatherData.main.temp)}° + {systemUsed == "metric" + ? Math.round(weatherData.main.temp) + : Math.round(ctoF(weatherData.main.temp))} + °

-

Feels like {Math.round(weatherData.main.feels_like)}°

+

+ Feels like{" "} + {systemUsed == "metric" + ? Math.round(weatherData.main.feels_like) + : Math.round(ctoF(weatherData.main.feels_like))} + ° +

)}
@@ -153,8 +172,12 @@ export default function Home() { width="100px" />
-

{weatherData.wind.speed}

-

m/s

+

+ {systemUsed == "metric" + ? weatherData.wind.speed + : mpsToMph(weatherData.wind.speed)} +

+

{systemUsed == "metric" ? "m/s" : "m/h"}

@@ -233,6 +256,8 @@ export default function Home() { )} +

Metric System

+

Imperial System

);