aboutsummaryrefslogtreecommitdiff
path: root/modern/src/common/formatter.js
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/common/formatter.js')
-rw-r--r--modern/src/common/formatter.js48
1 files changed, 46 insertions, 2 deletions
diff --git a/modern/src/common/formatter.js b/modern/src/common/formatter.js
index f04bb43..e41e591 100644
--- a/modern/src/common/formatter.js
+++ b/modern/src/common/formatter.js
@@ -27,12 +27,56 @@ export const formatPosition = (value, key) => {
return value;
}
}
-}
+};
export const formatBoolean = (value) => {
return value ? t('sharedYes') : t('sharedNo');
-}
+};
export const formatNumber = (value, precision = 1) => {
return Number(value.toFixed(precision));
+};
+
+export const formatDate = (value, format = 'YYYY-MM-DD HH:mm') => {
+ return moment(value).format(format);
+};
+
+export const formatDistance = (value, unit) => {
+ switch (unit) {
+ case 'mi':
+ return `${(value * 0.000621371).toFixed(2)} ${t('sharedMi')}`;
+ case 'nmi':
+ return `${(value * 0.000539957).toFixed(2)} ${t('sharedNmi')}`;
+ case 'km':
+ default:
+ return `${(value * 0.001).toFixed(2)} ${t('sharedKm')}`;
+ }
+};
+
+export const formatSpeed = (value, unit) => {
+ switch (unit) {
+ case 'kmh':
+ return `${(value * 1.852).toFixed(2)} ${t('sharedKmh')}`;
+ case 'mph':
+ return `${(value * 1.15078).toFixed(2)} ${t('sharedMph')}`;
+ case 'kn':
+ default:
+ return `${(value * 1).toFixed(2)} ${t('sharedKn')}`;
+ }
+};
+
+export const formatVolume = (value, unit) => {
+ switch (unit) {
+ case 'impGal':
+ return `${(value / 4.546).toFixed(2)} ${t('sharedGallonAbbreviation')}`;
+ case 'usGal':
+ return `${(value / 3.785).toFixed(2)} ${t('sharedGallonAbbreviation')}`;
+ case 'ltr':
+ default:
+ return `${(value / 1).toFixed(2)} ${t('sharedLiterAbbreviation')}`;
+ }
}
+
+export const formatHours = (value) => {
+ return moment.duration(value).humanize();
+};