nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit 7194a0cfe67aa64725c52b95749120a1e6775c0f
parent 3476fbe9678b4779e2fbeffa551201ad813fe3bf
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Wed, 25 Mar 2026 10:06:06 +0100

tracks[strava]: Update parsing date string

Diffstat:
Msrc/lib/leaflet.control.track-list/lib/services/strava.js | 17++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/lib/services/strava.js b/src/lib/leaflet.control.track-list/lib/services/strava.js @@ -1,6 +1,14 @@ import BaseService from './baseService'; import {corsProxyOriginalUrl, urlViaCorsProxy} from '~/lib/CORSProxy'; +function parseTimeTag(s) { + const m = /\b(?<month>[A-Z][a-z]+)\s+(?<day>\d{1,2}),?\s+(?<year>\d{4})\b/u.exec(s); + if (m) { + return m.groups; + } + return null; +} + class Strava extends BaseService { urlRe = /^https?:\/\/(?:.+\.)?strava\.com\/activities\/(\d+)/u; @@ -55,11 +63,10 @@ class Strava extends BaseService { if (dom) { const userName = (dom.querySelector('a.minimal[href*="/athletes/"]')?.textContent ?? '').trim(); const activityTitle = (dom.querySelector('h1.activity-name')?.textContent ?? '').trim(); - let date = dom.querySelector('time')?.textContent ?? ''; - date = date.split(',')[1] ?? ''; - date = date.trim(); - if (userName && activityTitle && date) { - name = `${userName} - ${activityTitle} ${date}`; + const date = parseTimeTag(dom.querySelector('time')?.textContent); + const formattedDate = date ? ` ${date.day} ${date.month} ${date.year}` : ''; + if (userName && activityTitle) { + name = `${userName} - ${activityTitle}${formattedDate}`; } } return [{