From bf8dc7f872fd0e5d784f1cad4370ab0da26b89c2 Mon Sep 17 00:00:00 2001 From: whimsical-c4lic0 Date: Thu, 19 Dec 2024 12:39:50 -0600 Subject: [PATCH] Update map popup to format dates with the locale from the browser --- app/javascript/maps/helpers.js | 3 ++- app/javascript/maps/polylines.js | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/javascript/maps/helpers.js b/app/javascript/maps/helpers.js index 7fdcdbca..bae38409 100644 --- a/app/javascript/maps/helpers.js +++ b/app/javascript/maps/helpers.js @@ -55,7 +55,8 @@ export function minutesToDaysHoursMinutes(minutes) { export function formatDate(timestamp, timezone) { const date = new Date(timestamp * 1000); - return date.toLocaleString("en-GB", { timeZone: timezone }); + const locale = navigator.languages !== undefined ? navigator.languages[0] : navigator.language; + return date.toLocaleString(locale, { timeZone: timezone }); } export function haversineDistance(lat1, lon1, lat2, lon2, unit = 'km') { diff --git a/app/javascript/maps/polylines.js b/app/javascript/maps/polylines.js index fcdcc329..e50e49b3 100644 --- a/app/javascript/maps/polylines.js +++ b/app/javascript/maps/polylines.js @@ -1,3 +1,4 @@ +import { formatDate } from "../maps/helpers"; import { formatDistance } from "../maps/helpers"; import { getUrlParameter } from "../maps/helpers"; import { minutesToDaysHoursMinutes } from "../maps/helpers"; @@ -12,8 +13,8 @@ export function addHighlightOnHover(polyline, map, polylineCoordinates, userSett const startPoint = polylineCoordinates[0]; const endPoint = polylineCoordinates[polylineCoordinates.length - 1]; - const firstTimestamp = new Date(startPoint[4] * 1000).toLocaleString("en-GB", { timeZone: userSettings.timezone }); - const lastTimestamp = new Date(endPoint[4] * 1000).toLocaleString("en-GB", { timeZone: userSettings.timezone }); + const firstTimestamp = formatDate(startPoint[4], userSettings.timezone); + const lastTimestamp = formatDate(endPoint[4], userSettings.timezone); const minutes = Math.round((endPoint[4] - startPoint[4]) / 60); const timeOnRoute = minutesToDaysHoursMinutes(minutes);