import React, { useEffect, useState } from 'react'; import {useSelector, useDispatch } from 'react-redux' import Spinner from '../../components/Spinner' import ProgressBar from 'react-bootstrap/ProgressBar'; import { reset, getpurchasesbydate, deletepurchase, getCO2bydate} from '../../features/purchases/purchaseSlice' import {LinePurchase} from './LinePurchase' import { useTranslation } from 'react-i18next'; import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; export const HomePurchase = () => { const { isLoading, purchases, CO2Emissions } = useSelector((state) => state.purchase) const [startDate, setStartDate] = useState(new Date()); const [endDate, setEndDate] = useState(new Date()); const [purchasesUser, setPurchasesUser] = useState([]); const [CO2EmissionsPurcentage, setCO2EmissionsPurcentage] = useState(0.0); const { t } = useTranslation(["Home"]); const dispatch = useDispatch() useEffect(() => { setPurchasesUser(purchases); setCO2EmissionsPurcentage(CO2Emissions / (2500 / 365 * (endDate.getDate() - startDate.getDate() + 1)) * 100); }, [purchases, CO2Emissions]) useEffect(() => { changeDate(); }, [startDate, endDate]) function changeDate() { dispatch(reset()) dispatch(getpurchasesbydate({ startDate: startDate.toLocaleDateString("es-CL"), endDate: endDate.toLocaleDateString("es-CL") })); dispatch(getCO2bydate({ startDate: startDate.toLocaleDateString("es-CL"), endDate: endDate.toLocaleDateString("es-CL") })); } const deletePurchase = (p) => { dispatch(reset()); dispatch(deletepurchase(p)).then( changeDate() ); } if (isLoading) return else return ( <>
{t("labelCost").replace("{start}", new Intl.DateTimeFormat("fr-FR").format(startDate)).replace("{end}", new Intl.DateTimeFormat("fr-FR").format(endDate))}
{setStartDate(date);}} /> {setEndDate(date);}} />
{t("date")}
{t("CO2Cost")}
{t("WaterCost")}
{ purchasesUser.map((purchaseUser, index) => { return ( deletePurchase(p)} /> ) }) } ); } export default HomePurchase