add imperial units
This commit is contained in:
parent
c329b12b17
commit
80e57e1bcf
@ -7,7 +7,7 @@ export default function Home() {
|
|||||||
const [systemUsed, setSystemUsed] = useState("metric");
|
const [systemUsed, setSystemUsed] = useState("metric");
|
||||||
const [weatherData, setWeatherData] = useState();
|
const [weatherData, setWeatherData] = useState();
|
||||||
|
|
||||||
const clickHandler = async () => {
|
const getData = async () => {
|
||||||
const res = await fetch("/api/data", {
|
const res = await fetch("/api/data", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: { "Content-Type": "application/json" },
|
headers: { "Content-Type": "application/json" },
|
||||||
@ -21,10 +21,14 @@ export default function Home() {
|
|||||||
|
|
||||||
const something = (event) => {
|
const something = (event) => {
|
||||||
if (event.keyCode === 13) {
|
if (event.keyCode === 13) {
|
||||||
clickHandler();
|
getData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getData();
|
||||||
|
}, []);
|
||||||
|
|
||||||
function degToCompass(num) {
|
function degToCompass(num) {
|
||||||
var val = Math.floor(num / 22.5 + 0.5);
|
var val = Math.floor(num / 22.5 + 0.5);
|
||||||
var arr = [
|
var arr = [
|
||||||
@ -56,8 +60,16 @@ export default function Home() {
|
|||||||
return time;
|
return time;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ctoF = (c) => (c * 9) / 5 + 32;
|
||||||
|
const mpsToMph = (mps) => (mps * 2.236936).toPrecision(3);
|
||||||
|
|
||||||
const changeSystem = () => {
|
const changeSystem = () => {
|
||||||
console.log("system changed");
|
console.log("system changed");
|
||||||
|
if (systemUsed == "metric") {
|
||||||
|
setSystemUsed("imperial");
|
||||||
|
} else {
|
||||||
|
setSystemUsed("metric");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var weekday = [
|
var weekday = [
|
||||||
@ -70,8 +82,6 @@ export default function Home() {
|
|||||||
"Saturday",
|
"Saturday",
|
||||||
];
|
];
|
||||||
|
|
||||||
// console.log(convertTime(weatherData.dt, weatherData.timezone));
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.wrapper}>
|
<div className={styles.wrapper}>
|
||||||
{weatherData && (
|
{weatherData && (
|
||||||
@ -91,9 +101,18 @@ export default function Home() {
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<h1 className={styles.mainTemp}>
|
<h1 className={styles.mainTemp}>
|
||||||
{Math.round(weatherData.main.temp)}°
|
{systemUsed == "metric"
|
||||||
|
? Math.round(weatherData.main.temp)
|
||||||
|
: Math.round(ctoF(weatherData.main.temp))}
|
||||||
|
°
|
||||||
</h1>
|
</h1>
|
||||||
<p>Feels like {Math.round(weatherData.main.feels_like)}°</p>
|
<p>
|
||||||
|
Feels like{" "}
|
||||||
|
{systemUsed == "metric"
|
||||||
|
? Math.round(weatherData.main.feels_like)
|
||||||
|
: Math.round(ctoF(weatherData.main.feels_like))}
|
||||||
|
°
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<div className={styles.statsWrapper}>
|
<div className={styles.statsWrapper}>
|
||||||
@ -153,8 +172,12 @@ export default function Home() {
|
|||||||
width="100px"
|
width="100px"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<h1>{weatherData.wind.speed}</h1>
|
<h1>
|
||||||
<p>m/s</p>
|
{systemUsed == "metric"
|
||||||
|
? weatherData.wind.speed
|
||||||
|
: mpsToMph(weatherData.wind.speed)}
|
||||||
|
</h1>
|
||||||
|
<p>{systemUsed == "metric" ? "m/s" : "m/h"}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -233,6 +256,8 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
<p onClick={changeSystem}>Metric System</p>
|
||||||
|
<p onClick={changeSystem}>Imperial System</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user