fix(weather): show correct wind speed and unit for imperial units

When OPENWEATHER_UNITS=imperial, OpenWeatherMap returns wind speed in
mph directly — the server was incorrectly multiplying by 3.6 (m/s→km/h)
on top of that. All locale strings also hardcoded the unit label instead
of using a {{windUnit}} placeholder, so the label always read km/h.

Resolves #79

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ulas Kalayci
2026-04-22 07:39:13 +02:00
parent 6a4ef09912
commit e1ea0bdb7e
17 changed files with 21 additions and 17 deletions
+4 -1
View File
@@ -105,7 +105,10 @@ router.get('/', async (req, res) => {
humidity: currentJson.main.humidity,
icon: currentJson.weather[0]?.icon,
desc: currentJson.weather[0]?.description,
wind_speed: Math.round((currentJson.wind?.speed ?? 0) * 3.6), // m/s → km/h
// metric/standard: m/s → km/h; imperial: already mph
wind_speed: units === 'imperial'
? Math.round(currentJson.wind?.speed ?? 0)
: Math.round((currentJson.wind?.speed ?? 0) * 3.6),
},
forecast: forecastDays,
};