import React, { useEffect, useState } from 'react' import {useDispatch, useSelector} from 'react-redux' import { Link } from 'react-router-dom' import moment from "moment"; import {currentMonth, getReports} from '../Calendar/calendarHelper' import {ProfileCalendarComponent} from "./ProfileCalendarComponent"; import { Footer } from '../Footer/Footer' import {ProfileHeader} from "../ProfileHeader/ProfileHeader"; import {useRequest} from "../../hooks/useRequest"; import { getProfileInfo } from '../../redux/outstaffingSlice' import {setReportDate} from "../../redux/reportSlice"; import './profileCalendar.scss' export const ProfileCalendar = () => { const dispatch = useDispatch(); const profileInfo = useSelector(getProfileInfo); const [month, setMonth] = useState(''); const [reports, setReports] = useState([]); const [totalHours, setTotalHours] = useState(0); const [requestDates, setRequestDates] = useState(''); const {apiRequest} = useRequest(); useEffect(() => { setRequestDates(getReports(moment())) }); useEffect(async () => { if (!requestDates) { return } apiRequest(`/reports/reports-by-date?${requestDates}&user_id=${localStorage.getItem('id')}`) .then((reports) => { let spendTime = 0; reports.map((report) => { if (report.spendTime) { spendTime += Number(report.spendTime) } }); setTotalHours(spendTime); setReports(reports) }) }, [requestDates]); useEffect(() => { setMonth(currentMonth) }, [month]); return (
{profileInfo.fio} {profileInfo.specification}
{month} : {totalHours} часов