diff --git a/src/components/WeatherModal/CurrentWeather.tsx b/src/components/WeatherModal/CurrentWeather.tsx index 7b78eac..3230491 100644 --- a/src/components/WeatherModal/CurrentWeather.tsx +++ b/src/components/WeatherModal/CurrentWeather.tsx @@ -86,7 +86,7 @@ export default function CurrentWeather({ current }: any) { marginLeft: 16, }} > - {current.textDescription} + {current.temperature === 69 ? 'Nice' : current.textDescription} diff --git a/src/components/WeatherModal/WeatherIcon.tsx b/src/components/WeatherModal/WeatherIcon.tsx index 914499c..adf74df 100644 --- a/src/components/WeatherModal/WeatherIcon.tsx +++ b/src/components/WeatherModal/WeatherIcon.tsx @@ -8,10 +8,39 @@ import SleetIcon from '../../assets/weather/sleet.svg'; import SnowIcon from '../../assets/weather/snow.svg'; import SunnyIcon from '../../assets/weather/sunny.svg'; import ThunderstormIcon from '../../assets/weather/thunderstorm.svg'; +import WindyIcon from '../../assets/weather/windy.svg'; export default function WeatherIcon({ textDescription }: { textDescription: string }) { + const icon = textDescription.includes('then') + ? textDescription.substring(0, textDescription.trim().indexOf('then')) + : textDescription; + const Icon = () => { - switch (textDescription.trim()) { + switch (icon.trim()) { + case 'Ash': + return ( + HazeIcon + ); + case 'Broken Clouds': + return ( + PartlyCloudyIcon + ); + case 'Chance Rain Showers': + return ( + RainIcon + ); case 'Clear': return ( CloudyIcon ); - case 'Mostly Cloudy': + case 'Dust': return ( CloudyIcon - ); - case 'Rain': - return ( - RainIcon - ); - case 'Showers': - return ( - RainIcon ); case 'Drizzle': @@ -60,46 +73,6 @@ export default function WeatherIcon({ textDescription }: { textDescription: stri alt='RainIcon' /> ); - case 'Snow': - return ( - SnowIcon - ); - case 'Thunderstorm': - return ( - ThunderstormIcon - ); - case 'Mist': - return ( - HazeIcon - ); - case 'Haze': - return ( - HazeIcon - ); - case 'Dust': - return ( - HazeIcon - ); case 'Fog': return ( HazeIcon ); - case 'Patchy Fog': - return ( - HazeIcon - ); - case 'Smoke': - return ( - HazeIcon - ); - case 'Sand': - return ( - HazeIcon - ); - case 'Ash': - return ( - HazeIcon - ); - case 'Squall': - return ( - HazeIcon - ); - case 'Tornado': - return ( - HazeIcon - ); case 'Freezing Rain': return ( HazeIcon ); - case 'Shower Rain': + case 'Haze': return ( HeavyRainIcon ); - case 'Scattered Clouds': + case 'Heavy Snow': return ( PartlyCloudyIcon ); - case 'Broken Clouds': + case 'Light Rain': return ( PartlyCloudyIcon + ); + case 'Mist': + return ( + HazeIcon + ); + case 'Moderate Rain': + return ( + RainIcon + ); + case 'Mostly Cloudy': + return ( + CloudyIcon ); case 'Overcast Clouds': @@ -204,36 +153,12 @@ export default function WeatherIcon({ textDescription }: { textDescription: stri alt='PartlyCloudyIcon' /> ); - case 'Moderate Rain': + case 'Patchy Fog': return ( PartlyCloudyIcon - ); - case 'Light Rain': - return ( - PartlyCloudyIcon - ); - case 'Heavy Snow': - return ( - SnowIcon - ); - case 'Sleet': - return ( - SleetIcon ); case 'Partly Sunny': @@ -244,6 +169,79 @@ export default function WeatherIcon({ textDescription }: { textDescription: stri alt='PartlyCloudyIcon' /> ); + case 'Rain': + return ( + RainIcon + ); + case 'Scattered Clouds': + return ( + PartlyCloudyIcon + ); + case 'Showers': + return ( + RainIcon + ); + case 'Sleet': + return ( + SleetIcon + ); + case 'Smoke': + return ( + HazeIcon + ); + case 'Snow': + return ( + SnowIcon + ); + case 'Squall': + return ( + WindyIcon + ); + case 'Thunderstorm': + return ( + ThunderstormIcon + ); + case 'Tornado': + return ( + WindyIcon + ); + default: return (