From 8bde80a8cd1fb9b92f4867edbeeae48158f9036b Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Tue, 5 Jul 2022 16:43:42 -0700 Subject: Configurable altitude units --- modern/src/common/util/converter.js | 24 ++++++++++++++++++++++++ modern/src/common/util/formatter.js | 11 ++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'modern/src/common/util') diff --git a/modern/src/common/util/converter.js b/modern/src/common/util/converter.js index 559e68aa..cb21566b 100644 --- a/modern/src/common/util/converter.js +++ b/modern/src/common/util/converter.js @@ -54,6 +54,30 @@ export const distanceFromMeters = (value, unit) => value * distanceConverter(uni export const distanceToMeters = (value, unit) => value / distanceConverter(unit); +const altitudeConverter = (unit) => { + switch (unit) { + case 'ft': + return 3.28084; + case 'm': + default: + return 1; + } +}; + +export const altitudeUnitString = (unit, t) => { + switch (unit) { + case 'ft': + return t('sharedFeet'); + case 'm': + default: + return t('sharedMeters'); + } +}; + +export const altitudeFromMeters = (value, unit) => value * altitudeConverter(unit); + +export const altitudeToMeters = (value, unit) => value / altitudeConverter(unit); + const volumeConverter = (unit) => { switch (unit) { case 'impGal': diff --git a/modern/src/common/util/formatter.js b/modern/src/common/util/formatter.js index 034b0401..f36b4d38 100644 --- a/modern/src/common/util/formatter.js +++ b/modern/src/common/util/formatter.js @@ -1,6 +1,13 @@ import moment from 'moment'; import { - distanceFromMeters, distanceUnitString, speedFromKnots, speedUnitString, volumeFromLiters, volumeUnitString, + altitudeFromMeters, + altitudeUnitString, + distanceFromMeters, + distanceUnitString, + speedFromKnots, + speedUnitString, + volumeFromLiters, + volumeUnitString, } from './converter'; import { prefixString } from './stringUtils'; @@ -26,6 +33,8 @@ export const formatCourse = (value) => { export const formatDistance = (value, unit, t) => `${distanceFromMeters(value, unit).toFixed(2)} ${distanceUnitString(unit, t)}`; +export const formatAltitude = (value, unit, t) => `${altitudeFromMeters(value, unit).toFixed(2)} ${altitudeUnitString(unit, t)}`; + export const formatSpeed = (value, unit, t) => `${speedFromKnots(value, unit).toFixed(2)} ${speedUnitString(unit, t)}`; export const formatVolume = (value, unit, t) => `${volumeFromLiters(value, unit).toFixed(2)} ${volumeUnitString(unit, t)}`; -- cgit v1.2.3