import React, { useEffect, useState } from 'react' import {useDispatch, useSelector} from 'react-redux' import {currentMonth, getReports} from '../Calendar/calendarHelper' import { Link } from 'react-router-dom' import moment from "moment"; import {ProfileCalendarComponent} from "./ProfileCalendarComponent"; import {Loader} from "../Loader/Loader"; import {ProfileHeader} from "../ProfileHeader/ProfileHeader"; import { Footer } from '../Footer/Footer' import {urlForLocal} from "../../helper"; import {apiRequest} from "../../api/request"; 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 [loader, setLoader] = useState(false) useEffect(() => { setRequestDates(getReports(moment())) },[]); useEffect( () => { setLoader(true) if (!requestDates) { return } apiRequest(`/reports/reports-by-date?${requestDates}&user_card_id=${localStorage.getItem('cardId')}`) .then((reports) => { let spendTime = 0; for (const report of reports) { report.task.map((task) => { if(task.hours_spent) { spendTime += Number(task.hours_spent) } }) } setTotalHours(spendTime); setReports(reports) setLoader(false) }) }, [requestDates]); useEffect(() => { setMonth(currentMonth) }, [month]); return (

Ваши отчеты

avatar

{profileInfo.fio} {profileInfo.specification}

{loader ? :

{month} : {totalHours} часов

}
) };