From 2caa415ac8174963c506e5068030a94ad23221cf Mon Sep 17 00:00:00 2001 From: sosokker Date: Sat, 11 May 2024 17:39:09 +0700 Subject: [PATCH] Implement weather data UI logic --- frontend/src/pages/Dashboard/Statistic.tsx | 125 +++++++++++++++------ 1 file changed, 90 insertions(+), 35 deletions(-) diff --git a/frontend/src/pages/Dashboard/Statistic.tsx b/frontend/src/pages/Dashboard/Statistic.tsx index 03f18e0..ada29ba 100644 --- a/frontend/src/pages/Dashboard/Statistic.tsx +++ b/frontend/src/pages/Dashboard/Statistic.tsx @@ -1,51 +1,106 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import CardDataStats from '../../components/CardDataStats'; import LineChart from '../../components/Charts/LineChart'; import PieChart from '../../components/Charts/PieChart'; import BarChart from '../../components/Charts/BarChart'; import DefaultLayout from '../../layout/DefaultLayout'; -import { FaTemperatureHigh } from 'react-icons/fa'; +import { FaTemperatureHigh, FaRegLightbulb } from 'react-icons/fa'; import { WiHumidity } from 'react-icons/wi'; import { PiFactoryBold } from 'react-icons/pi'; import { TbBuildingFactory } from 'react-icons/tb'; +import { + fetchWeatherDataList, + fetchOutdoorWeatherData, + fetchIndoorWeatherData, +} from '../../api/WeatherData'; const Statistic: React.FC = () => { + const [weatherDataList, setWeatherDataList] = useState( + null, + ); + const [outdoorWeatherData, setOutdoorWeatherData] = + useState(null); + const [indoorWeatherData, setIndoorWeatherData] = + useState(null); + const days = 10; + + useEffect(() => { + const fetchData = async () => { + const weatherList = await fetchWeatherDataList(days); + setWeatherDataList(weatherList); + + const outdoorWeather = await fetchOutdoorWeatherData(days); + setOutdoorWeatherData(outdoorWeather); + + const indoorWeather = await fetchIndoorWeatherData(days); + setIndoorWeatherData(indoorWeather); + }; + + fetchData(); + }, [days]); + return ( -
- - - - - - - - - - - - -
+
+

Weekly Average Data

+
+ + + + + + + + + + + + +
+
+ + + + + + +
-
- - - +
+ + + +
);