From 37df7fb08cc2629973b8dfee384af3b1d238b525 Mon Sep 17 00:00:00 2001 From: David Ralph Date: Fri, 23 Jul 2021 10:55:20 +0100 Subject: [PATCH] fix: revert using api to get temperature format --- package.json | 8 ++--- src/components/widgets/weather/Weather.jsx | 34 +++++++++++++--------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index f5b4cec6..f4e93e77 100644 --- a/package.json +++ b/package.json @@ -28,18 +28,18 @@ "weather-icons-react": "1.2.0" }, "devDependencies": { - "@babel/core": "^7.14.6", + "@babel/core": "^7.14.8", "@babel/eslint-parser": "^7.14.7", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-transform-react-constant-elements": "^7.13.15", "@babel/plugin-transform-runtime": "^7.14.5", - "@babel/preset-env": "^7.14.7", + "@babel/preset-env": "^7.14.8", "@babel/preset-react": "^7.14.5", "@eartharoid/deep-merge": "^0.0.1", "babel-loader": "^8.2.2", "babel-plugin-transform-react-class-to-function": "^1.2.2", "copy-webpack-plugin": "^9.0.1", - "css-loader": "^6.1.0", + "css-loader": "^6.2.0", "date-fns": "^2.22.1", "eslint": "^7.31.0", "eslint-config-react-app": "^6.0.0", @@ -48,7 +48,7 @@ "sass": "^1.35.2", "sass-loader": "^12.1.0", "source-map-loader": "^3.0.0", - "webpack": "^5.45.1", + "webpack": "^5.46.0", "webpack-cli": "^4.7.2", "webpack-dev-server": "^4.0.0-beta.3" }, diff --git a/src/components/widgets/weather/Weather.jsx b/src/components/widgets/weather/Weather.jsx index 18a16b03..7f5ecdc7 100644 --- a/src/components/widgets/weather/Weather.jsx +++ b/src/components/widgets/weather/Weather.jsx @@ -61,10 +61,8 @@ export default class Weather extends React.PureComponent { } }; - const tempFormat = localStorage.getItem('tempformat'); - if (!this.state.weather.temp) { - data = await (await fetch(window.constants.PROXY_URL + `/weather/current?city=${this.state.location}&lang=${localStorage.getItem('language')}&format=${tempFormat}`)).json(); + data = await (await fetch(window.constants.PROXY_URL + `/weather/current?city=${this.state.location}&lang=${localStorage.getItem('language')}`)).json(); } if (data.cod === '404') { @@ -73,27 +71,37 @@ export default class Weather extends React.PureComponent { }); } - let tempText; - switch (tempFormat) { + let temp = data.main.temp; + let temp_min = data.main.temp_min; + let temp_max = data.main.temp_max; + let temp_text = 'K'; + + switch (localStorage.getItem('tempformat')) { case 'celsius': - tempText = '°C'; + temp = temp - 273.15; + temp_min = temp_min - 273.15; + temp_max = temp_max - 273.15; + temp_text = '°C'; break; case 'fahrenheit': - tempText = '°F'; + temp = ((temp - 273.15) * 1.8) + 32; + temp_min = ((temp_min - 273.15) * 1.8) + 32; + temp_max = ((temp_max - 273.15) * 1.8) + 32; + temp_text = '°F'; break; - default: - tempText = 'K'; + // kelvin + default: break; } this.setState({ icon: data.weather[0].icon, - temp_text: tempText, + temp_text: temp_text, weather: { - temp: Math.round(data.main.temp), + temp: Math.round(temp), description: data.weather[0].description, - temp_min: Math.round(data.main.temp_min), - temp_max: Math.round(data.main.temp_max), + temp_min: Math.round(temp_min), + temp_max: Math.round(temp_max), humidity: data.main.humidity, wind_speed: data.wind.speed, wind_degrees: data.wind.deg,