From c61dbb875bb728a2f2575e9a13dd712d8644a129 Mon Sep 17 00:00:00 2001 From: Jean Robertou Date: Fri, 6 Aug 2021 21:11:39 +0200 Subject: [PATCH] refactor: export utils methods to utils.js --- pages/components/Metrics.jsx | 46 ++++++++++-------------------------- pages/services/utils.js | 20 ++++++++++++++++ 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/pages/components/Metrics.jsx b/pages/components/Metrics.jsx index 2e127b9..bb9d442 100644 --- a/pages/components/Metrics.jsx +++ b/pages/components/Metrics.jsx @@ -1,12 +1,11 @@ import React from "react"; +import { degToCompass } from "../services/converters"; import { - convertTime, - degToCompass, - kmToM, - mpsToMph, - timeToAMPM, -} from "../services/converters"; -import { isPM } from "../services/utils"; + getTime, + getAMPM, + getVisibility, + getWindSpeed, +} from "../services/utils"; import MetricCard from "./MetricCard"; const Metrics = ({ styles, data, systemUsed }) => { @@ -23,9 +22,7 @@ const Metrics = ({ styles, data, systemUsed }) => { @@ -40,11 +37,7 @@ const Metrics = ({ styles, data, systemUsed }) => { @@ -52,31 +45,16 @@ const Metrics = ({ styles, data, systemUsed }) => { diff --git a/pages/services/utils.js b/pages/services/utils.js index c7277bf..6d28533 100644 --- a/pages/services/utils.js +++ b/pages/services/utils.js @@ -1,3 +1,5 @@ +import { convertTime, kmToM, mpsToMph, timeToAMPM } from "./converters"; + export const isPM = (time) => { let hours = time.split(":")[0]; if (hours >= 12) { @@ -6,3 +8,21 @@ export const isPM = (time) => { 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]) : "";