import React, {useEffect, useState} from "react" import PageLayout from "../components/PageLayout"; import LastFiveMesure from "../components/rainfall/LastFiveMesure"; import AddRainfall from "../components/rainfall/AddRainfall"; import RainfallGraph from "../components/rainfall/RainfallGraph"; import useAxiosTools from "../hooks/AxiosTools"; import {rainfall} from "../types"; import Field from "../components/Field"; import useDimension from "../hooks/DimensionHook"; const Rainfall = () => { const [loadedAt, reload] = useState(new Date) const [graphData, setGraphData] = useState([]) const [graphDetails, setGraphDetails] = useState({ start_date: (new Date((new Date()).setMonth((new Date).getMonth() - 1))).toSQLDate(), end_date: (new Date()).toSQLDate(), }) const {errorCatch, errorLabel, axiosGet} = useAxiosTools() const {targetRef, dimensions} = useDimension() useEffect(() => { fetchGraphData() }, [loadedAt, graphDetails]) const fetchGraphData = async () => { try { const params = `start=${graphDetails.start_date}&end=${graphDetails.end_date}` const res = await axiosGet(`/api/rainfalls/graph?${params}`) setGraphData(res.data) } catch (error) { errorCatch(error) } } return
{errorLabel()}
setGraphDetails({...graphDetails, start_date: (new Date(e.target.value)).toSQLDate()})} /> setGraphDetails({...graphDetails, end_date: (new Date(e.target.value)).toSQLDate()})} />
} export default Rainfall