From 3d10ccbdb13ef1d54d114e6df4fd2fdf75d9de20 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 20 Jul 2022 16:25:40 -0700 Subject: Better hours formatting --- modern/src/common/components/PositionValue.js | 6 +++--- modern/src/common/util/formatter.js | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'modern') diff --git a/modern/src/common/components/PositionValue.js b/modern/src/common/components/PositionValue.js index 6dd1f50d..a851c886 100644 --- a/modern/src/common/components/PositionValue.js +++ b/modern/src/common/components/PositionValue.js @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux'; import { Link } from '@mui/material'; import { Link as RouterLink } from 'react-router-dom'; import { - formatAlarm, formatAltitude, formatBoolean, formatCoordinate, formatCourse, formatDistance, formatNumber, formatPercentage, formatSpeed, formatTime, + formatAlarm, formatAltitude, formatBoolean, formatCoordinate, formatCourse, formatDistance, formatNumber, formatNumericHours, formatPercentage, formatSpeed, formatTime, } from '../util/formatter'; import { useAttributePreference, usePreference } from '../util/preferences'; import { useTranslation } from './LocalizationProvider'; @@ -42,7 +42,7 @@ const PositionValue = ({ position, property, attribute }) => { case 'altitude': return formatAltitude(value, altitudeUnit, t); case 'batteryLevel': - return formatPercentage(value); + return formatPercentage(value, t); case 'alarm': return formatAlarm(value, t); case 'odometer': @@ -50,7 +50,7 @@ const PositionValue = ({ position, property, attribute }) => { case 'totalDistance': return formatDistance(value, distanceUnit, t); case 'hours': - return formatNumber(value / 1000); + return formatNumericHours(value, t); default: if (typeof value === 'number') { return formatNumber(value); diff --git a/modern/src/common/util/formatter.js b/modern/src/common/util/formatter.js index f36b4d38..47bd2cd0 100644 --- a/modern/src/common/util/formatter.js +++ b/modern/src/common/util/formatter.js @@ -41,6 +41,12 @@ export const formatVolume = (value, unit, t) => `${volumeFromLiters(value, unit) export const formatHours = (value) => moment.duration(value).humanize(); +export const formatNumericHours = (value, t) => { + const hours = Math.floor(value / 3600000); + const minutes = Math.floor((value % 3600000) / 60000); + return `${hours} ${t('sharedHourAbbreviation')} ${minutes} ${t('sharedMinuteAbbreviation')}`; +}; + export const formatCoordinate = (key, value, unit) => { let hemisphere; let degrees; -- cgit v1.2.3