diff --git a/frontend/src/assets/rain-4431.gif b/frontend/src/assets/rain-4431.gif new file mode 100644 index 00000000..17e51ccc Binary files /dev/null and b/frontend/src/assets/rain-4431.gif differ diff --git a/frontend/src/assets/raindrops.gif b/frontend/src/assets/raindrops.gif new file mode 100644 index 00000000..b76f51b7 Binary files /dev/null and b/frontend/src/assets/raindrops.gif differ diff --git a/frontend/src/assets/summer-4134.gif b/frontend/src/assets/summer-4134.gif new file mode 100644 index 00000000..524c6a6e Binary files /dev/null and b/frontend/src/assets/summer-4134.gif differ diff --git a/frontend/src/assets/summer-4144.gif b/frontend/src/assets/summer-4144.gif new file mode 100644 index 00000000..588badb3 Binary files /dev/null and b/frontend/src/assets/summer-4144.gif differ diff --git a/frontend/src/assets/summer-4145.gif b/frontend/src/assets/summer-4145.gif new file mode 100644 index 00000000..f445a295 Binary files /dev/null and b/frontend/src/assets/summer-4145.gif differ diff --git a/frontend/src/assets/summer-4146.gif b/frontend/src/assets/summer-4146.gif new file mode 100644 index 00000000..06fd6d7a Binary files /dev/null and b/frontend/src/assets/summer-4146.gif differ diff --git a/frontend/src/assets/summer-4147.gif b/frontend/src/assets/summer-4147.gif new file mode 100644 index 00000000..baa94e08 Binary files /dev/null and b/frontend/src/assets/summer-4147.gif differ diff --git a/frontend/src/components/weather/WeatherCard.jsx b/frontend/src/components/weather/WeatherCard.jsx index 7c6db928..db0fe6d0 100644 --- a/frontend/src/components/weather/WeatherCard.jsx +++ b/frontend/src/components/weather/WeatherCard.jsx @@ -47,12 +47,12 @@ const WeatherCard = ({
weather_icon -

{temperature} °C

+

{temperature} °C

-
+
{place}
-
+

{new Date().toDateString()}

{time}

@@ -60,7 +60,7 @@ const WeatherCard = ({

Wind Speed

{windspeed} km/h

Humidity

{humidity} gm/m³

-
+

Heat Index

{heatIndex ? heatIndex : 'N/A'}

diff --git a/frontend/src/pages/Forecast.jsx b/frontend/src/pages/Forecast.jsx index e20a84d7..0a5c8722 100644 --- a/frontend/src/pages/Forecast.jsx +++ b/frontend/src/pages/Forecast.jsx @@ -1,65 +1,114 @@ -import { useState } from 'react' -import '../App.css' -import search from '../assets/icons/search.svg' -import { useStateContext } from '../context/StateContextProvider' -import { BackgroundLayout, WeatherCard, MiniCard } from '../components/weather' +import React, { useState } from 'react'; +import { motion } from 'framer-motion'; +import '../App.css'; +import search from '../assets/icons/search.svg'; +import summerGif from '../assets/summer-4134.gif'; // Summer GIF +import rainGif from '../assets/rain-4431.gif'; // Rain GIF +import { useStateContext } from '../context/StateContextProvider'; +import { BackgroundLayout, WeatherCard, MiniCard } from '../components/weather'; function Forecast() { - - const [input, setInput] = useState('') - const { weather, thisLocation, values, setPlace } = useStateContext() - // console.log(weather) + const [input, setInput] = useState(''); + const { weather, thisLocation, values, setPlace } = useStateContext(); const submitCity = () => { - setPlace(input) - setInput('') - } + setPlace(input); + setInput(''); + }; + + // Choose the appropriate GIF based on humidity + const weatherGif = weather.humidity > 70 ? rainGif : summerGif; return ( - <> -
- - {/* */} -
- +
+ {/* Background GIF */} +
+ + {/* Content */} +
+ + +
+ + + -
- { - values?.slice(1, 7).map(curr => { - return ( + + {values?.slice(1, 7).map((curr, index) => ( + - ) - }) - } -
-
+ + ))} + +
+
- - ) + ); } -export default Forecast +export default Forecast;