refactor: export utils methods to utils.js
This commit is contained in:
parent
04fbf8ebf3
commit
c61dbb875b
@ -1,12 +1,11 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
import { degToCompass } from "../services/converters";
|
||||||
import {
|
import {
|
||||||
convertTime,
|
getTime,
|
||||||
degToCompass,
|
getAMPM,
|
||||||
kmToM,
|
getVisibility,
|
||||||
mpsToMph,
|
getWindSpeed,
|
||||||
timeToAMPM,
|
} from "../services/utils";
|
||||||
} from "../services/converters";
|
|
||||||
import { isPM } from "../services/utils";
|
|
||||||
import MetricCard from "./MetricCard";
|
import MetricCard from "./MetricCard";
|
||||||
|
|
||||||
const Metrics = ({ styles, data, systemUsed }) => {
|
const Metrics = ({ styles, data, systemUsed }) => {
|
||||||
@ -23,9 +22,7 @@ const Metrics = ({ styles, data, systemUsed }) => {
|
|||||||
<MetricCard
|
<MetricCard
|
||||||
title={"Wind speed"}
|
title={"Wind speed"}
|
||||||
iconSrc={"/icons/017-wind.png"}
|
iconSrc={"/icons/017-wind.png"}
|
||||||
metric={
|
metric={getWindSpeed(systemUsed, data.wind.speed)}
|
||||||
systemUsed == "metric" ? data.wind.speed : mpsToMph(data.wind.speed)
|
|
||||||
}
|
|
||||||
unit={systemUsed == "metric" ? "m/s" : "m/h"}
|
unit={systemUsed == "metric" ? "m/s" : "m/h"}
|
||||||
styles={styles}
|
styles={styles}
|
||||||
/>
|
/>
|
||||||
@ -40,11 +37,7 @@ const Metrics = ({ styles, data, systemUsed }) => {
|
|||||||
<MetricCard
|
<MetricCard
|
||||||
title={"Visibility"}
|
title={"Visibility"}
|
||||||
iconSrc={"/icons/binocular.png"}
|
iconSrc={"/icons/binocular.png"}
|
||||||
metric={
|
metric={getVisibility(systemUsed, data.visibility)}
|
||||||
systemUsed == "metric"
|
|
||||||
? (data.visibility / 1000).toPrecision(2)
|
|
||||||
: kmToM(data.visibility / 1000)
|
|
||||||
}
|
|
||||||
unit={systemUsed == "metric" ? "km" : "miles"}
|
unit={systemUsed == "metric" ? "km" : "miles"}
|
||||||
styles={styles}
|
styles={styles}
|
||||||
/>
|
/>
|
||||||
@ -52,31 +45,16 @@ const Metrics = ({ styles, data, systemUsed }) => {
|
|||||||
<MetricCard
|
<MetricCard
|
||||||
title={"Sunrise"}
|
title={"Sunrise"}
|
||||||
iconSrc={"/icons/040-sunrise.png"}
|
iconSrc={"/icons/040-sunrise.png"}
|
||||||
metric={
|
metric={getTime(systemUsed, data.sys.sunrise, data.timezone)}
|
||||||
systemUsed == "metric"
|
unit={getAMPM(systemUsed, data.sys.sunset, data.timezone)}
|
||||||
? `${parseInt(
|
|
||||||
convertTime(data.sys.sunrise, data.timezone)[0].split(":")[0]
|
|
||||||
)}:${
|
|
||||||
convertTime(data.sys.sunrise, data.timezone)[0].split(":")[1]
|
|
||||||
}`
|
|
||||||
: timeToAMPM(convertTime(data.sys.sunrise, data.timezone)[0])
|
|
||||||
}
|
|
||||||
styles={styles}
|
styles={styles}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<MetricCard
|
<MetricCard
|
||||||
title={"Sunset"}
|
title={"Sunset"}
|
||||||
iconSrc={"/icons/041-sunset.png"}
|
iconSrc={"/icons/041-sunset.png"}
|
||||||
metric={
|
metric={getTime(systemUsed, data.sys.sunset, data.timezone)}
|
||||||
systemUsed == "metric"
|
unit={getAMPM(systemUsed, data.sys.sunset, data.timezone)}
|
||||||
? convertTime(data.sys.sunset, data.timezone)[0]
|
|
||||||
: timeToAMPM(convertTime(data.sys.sunset, data.timezone)[0])
|
|
||||||
}
|
|
||||||
unit={
|
|
||||||
systemUsed == "imperial"
|
|
||||||
? isPM(convertTime(data.sys.sunset, data.timezone)[0])
|
|
||||||
: ""
|
|
||||||
}
|
|
||||||
styles={styles}
|
styles={styles}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
import { convertTime, kmToM, mpsToMph, timeToAMPM } from "./converters";
|
||||||
|
|
||||||
export const isPM = (time) => {
|
export const isPM = (time) => {
|
||||||
let hours = time.split(":")[0];
|
let hours = time.split(":")[0];
|
||||||
if (hours >= 12) {
|
if (hours >= 12) {
|
||||||
@ -6,3 +8,21 @@ export const isPM = (time) => {
|
|||||||
return "AM";
|
return "AM";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getWindSpeed = (systemUsed, windInMph) =>
|
||||||
|
systemUsed == "metric" ? windInMph : mpsToMph(windInMph);
|
||||||
|
|
||||||
|
export const getVisibility = (systemUsed, visibilityInKm) =>
|
||||||
|
systemUsed == "metric"
|
||||||
|
? (visibilityInKm / 1000).toPrecision(2)
|
||||||
|
: kmToM(visibilityInKm / 1000);
|
||||||
|
|
||||||
|
export const getTime = (systemUsed, currentTime, timezone) =>
|
||||||
|
systemUsed == "metric"
|
||||||
|
? `${parseInt(convertTime(currentTime, timezone)[0].split(":")[0])}:${
|
||||||
|
convertTime(currentTime, timezone)[0].split(":")[1]
|
||||||
|
}`
|
||||||
|
: timeToAMPM(convertTime(currentTime, timezone)[0]);
|
||||||
|
|
||||||
|
export const getAMPM = (systemUsed, currentTime, timezone) =>
|
||||||
|
systemUsed == "imperial" ? isPM(convertTime(currentTime, timezone)[0]) : "";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user