edit metrics

This commit is contained in:
madarsbiss 2021-09-21 20:29:22 +03:00
parent 69450a7f67
commit 36429c61c6
6 changed files with 42 additions and 42 deletions

View File

@ -1,6 +1,8 @@
import Image from "next/image"; import Image from "next/image";
const MetricCard = ({ title, iconSrc, metric, unit = "", styles }) => { import styles from "./MetricCard.module.css";
const MetricCard = ({ title, iconSrc, metric, unit = "" }) => {
return ( return (
<div className={styles.statsCard}> <div className={styles.statsCard}>
<p>{title}</p> <p>{title}</p>

View File

@ -0,0 +1,16 @@
.statsCard {
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
padding: 20px;
}
.statsCardContent {
display: grid;
grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 475px) {
.statsCardContent {
grid-template-columns: 1fr 2fr;
}
}

View File

@ -7,7 +7,9 @@ import {
} from "../services/utils"; } from "../services/utils";
import MetricCard from "./MetricCard"; import MetricCard from "./MetricCard";
const Metrics = ({ styles, data, systemUsed }) => { import styles from "./Metrics.module.css";
const Metrics = ({ data, systemUsed }) => {
return ( return (
<div className={styles.statsBox}> <div className={styles.statsBox}>
<MetricCard <MetricCard
@ -15,7 +17,6 @@ const Metrics = ({ styles, data, systemUsed }) => {
iconSrc={"/icons/humidity.png"} iconSrc={"/icons/humidity.png"}
metric={data.main.humidity} metric={data.main.humidity}
unit={"%"} unit={"%"}
styles={styles}
/> />
<MetricCard <MetricCard
@ -23,14 +24,12 @@ const Metrics = ({ styles, data, systemUsed }) => {
iconSrc={"/icons/wind.png"} iconSrc={"/icons/wind.png"}
metric={getWindSpeed(systemUsed, data.wind.speed)} metric={getWindSpeed(systemUsed, data.wind.speed)}
unit={systemUsed == "metric" ? "m/s" : "m/h"} unit={systemUsed == "metric" ? "m/s" : "m/h"}
styles={styles}
/> />
<MetricCard <MetricCard
title={"Wind direction"} title={"Wind direction"}
iconSrc={"/icons/compass.png"} iconSrc={"/icons/compass.png"}
metric={degToCompass(data.wind.deg)} metric={degToCompass(data.wind.deg)}
styles={styles}
/> />
<MetricCard <MetricCard
@ -38,7 +37,6 @@ const Metrics = ({ styles, data, systemUsed }) => {
iconSrc={"/icons/binocular.png"} iconSrc={"/icons/binocular.png"}
metric={getVisibility(systemUsed, data.visibility)} metric={getVisibility(systemUsed, data.visibility)}
unit={systemUsed == "metric" ? "km" : "miles"} unit={systemUsed == "metric" ? "km" : "miles"}
styles={styles}
/> />
<MetricCard <MetricCard
@ -46,7 +44,6 @@ const Metrics = ({ styles, data, systemUsed }) => {
iconSrc={"/icons/sunrise.png"} iconSrc={"/icons/sunrise.png"}
metric={getTime(systemUsed, data.sys.sunrise, data.timezone)} metric={getTime(systemUsed, data.sys.sunrise, data.timezone)}
unit={getAMPM(systemUsed, data.sys.sunrise, data.timezone)} unit={getAMPM(systemUsed, data.sys.sunrise, data.timezone)}
styles={styles}
/> />
<MetricCard <MetricCard
@ -54,7 +51,6 @@ const Metrics = ({ styles, data, systemUsed }) => {
iconSrc={"/icons/sunset.png"} iconSrc={"/icons/sunset.png"}
metric={getTime(systemUsed, data.sys.sunset, data.timezone)} metric={getTime(systemUsed, data.sys.sunset, data.timezone)}
unit={getAMPM(systemUsed, data.sys.sunset, data.timezone)} unit={getAMPM(systemUsed, data.sys.sunset, data.timezone)}
styles={styles}
/> />
</div> </div>
); );

View File

@ -0,0 +1,19 @@
.statsBox {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
border-radius: 20px;
margin-bottom: 20px;
}
@media only screen and (max-width: 600px) {
.statsBox {
grid-template-columns: 1fr 1fr;
}
}
@media only screen and (max-width: 475px) {
.statsBox {
grid-template-columns: 1fr;
}
}

View File

@ -129,7 +129,7 @@ const App = () => {
/> />
</div> </div>
<Metrics styles={styles} data={weatherData} systemUsed={systemUsed} /> <Metrics data={weatherData} systemUsed={systemUsed} />
<SwitchBox onClick={changeSystem} systemUsed={systemUsed} /> <SwitchBox onClick={changeSystem} systemUsed={systemUsed} />
</div> </div>
</div> </div>

View File

@ -42,25 +42,6 @@
gap: 20px; gap: 20px;
} }
.statsBox {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
border-radius: 20px;
margin-bottom: 20px;
}
.statsCard {
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
padding: 20px;
}
.statsCardContent {
display: grid;
grid-template-columns: 1fr 1fr;
}
.mainTemp { .mainTemp {
font-size: 84px; font-size: 84px;
} }
@ -96,10 +77,6 @@
margin: 0 auto; margin: 0 auto;
border-radius: 0; border-radius: 0;
} }
.statsBox {
grid-template-columns: 1fr 1fr;
}
} }
@media only screen and (max-width: 520px) { @media only screen and (max-width: 520px) {
@ -112,13 +89,3 @@
width: 100%; width: 100%;
} }
} }
@media only screen and (max-width: 475px) {
.statsBox {
grid-template-columns: 1fr;
}
.statsCardContent {
grid-template-columns: 1fr 2fr;
}
}