2021-11-30 16:00:58 +02:00
|
|
|
import React, { useEffect, useState } from 'react'
|
|
|
|
import { useDispatch, useSelector } from 'react-redux'
|
|
|
|
import { selectCurrentCandidate, auth } from '../../redux/outstaffingSlice'
|
|
|
|
import { Link, useHistory, useParams } from 'react-router-dom'
|
|
|
|
import calendarMale from '../../images/medium_male.png'
|
|
|
|
import rectangle from '../../images/rectangle_secondPage.png'
|
|
|
|
import CalendarComponent from './CalendarComponent'
|
|
|
|
import { currentMonth } from './calendarHelper'
|
|
|
|
import { Footer } from '../Footer/Footer'
|
|
|
|
|
|
|
|
import { fetchReportList } from '../../server/server'
|
|
|
|
import { getRole } from '../../redux/roleSlice'
|
|
|
|
|
|
|
|
import './calendar.scss'
|
|
|
|
|
|
|
|
const getDateParamString = ({ paramName, value }) => {
|
|
|
|
return value ? `${paramName}=${value}` : ''
|
|
|
|
}
|
2021-06-16 17:51:25 +03:00
|
|
|
|
2021-12-07 09:58:19 +02:00
|
|
|
const Calendar = ({ onSelect }) => {
|
2021-11-30 16:00:58 +02:00
|
|
|
const dispatch = useDispatch()
|
|
|
|
const candidateForCalendar = useSelector(selectCurrentCandidate)
|
|
|
|
const role = useSelector(getRole)
|
|
|
|
const { userId } = useParams()
|
|
|
|
const [month, setMonth] = useState('')
|
|
|
|
const [fromDate, setFromDate] = useState(null)
|
|
|
|
const [toDate, setToDate] = useState(null)
|
|
|
|
|
|
|
|
const history = useHistory()
|
2021-07-02 16:02:47 +03:00
|
|
|
|
2021-12-07 09:58:19 +02:00
|
|
|
// useEffect(() => {
|
|
|
|
// fetchReportList({
|
|
|
|
// link: `${
|
|
|
|
// process.env.REACT_APP_API_URL
|
|
|
|
// }/api/reports/index?user_id=${userId}${getDateParamString({
|
|
|
|
// paramName: 'fromDate',
|
|
|
|
// value: fromDate
|
|
|
|
// })}${getDateParamString({
|
|
|
|
// paramName: 'toDate',
|
|
|
|
// value: toDate
|
|
|
|
// })}`,
|
|
|
|
// history,
|
|
|
|
// role,
|
|
|
|
// logout: () => {}
|
|
|
|
// })
|
|
|
|
// }, [])
|
2021-06-22 18:00:52 +03:00
|
|
|
|
|
|
|
useEffect(() => {
|
2021-11-30 16:00:58 +02:00
|
|
|
setMonth(currentMonth)
|
|
|
|
}, [month])
|
2021-06-22 18:00:52 +03:00
|
|
|
|
2021-11-30 16:00:58 +02:00
|
|
|
const { name, skillsName, photo } = candidateForCalendar
|
2021-06-30 17:21:55 +03:00
|
|
|
|
2021-11-30 16:00:58 +02:00
|
|
|
const abbreviatedName = name && name.substring(0, name.lastIndexOf(' '))
|
2021-06-30 17:21:55 +03:00
|
|
|
|
2021-06-16 17:51:25 +03:00
|
|
|
return (
|
2021-11-30 16:00:58 +02:00
|
|
|
<section className='calendar'>
|
|
|
|
<div className='row'>
|
|
|
|
<h2 className='calendar__profile'>
|
|
|
|
Добрый день, <span>Александр !</span>
|
|
|
|
</h2>
|
|
|
|
<div className='col-12 col-xl-12 d-flex justify-content-between align-items-center flex-column flex-sm-row'>
|
|
|
|
<div className='calendar__info'>
|
|
|
|
<img className='calendar__info-img' src={photo} alt='img' />
|
|
|
|
<h3 className='calendar__info-name'>{abbreviatedName}</h3>
|
|
|
|
</div>
|
|
|
|
<div className='calendar__title'>
|
|
|
|
<h3 className='calendar__title-text'>{skillsName} разработчик</h3>
|
|
|
|
<img className='calendar__title-img' src={rectangle} alt='img' />
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<Link to='/report'>
|
|
|
|
<button className='calendar__btn'>Заполнить отчет за день</button>
|
|
|
|
</Link>
|
2021-06-17 18:21:48 +03:00
|
|
|
</div>
|
|
|
|
</div>
|
2021-11-30 16:00:58 +02:00
|
|
|
</div>
|
2021-06-17 18:21:48 +03:00
|
|
|
|
2021-11-30 16:00:58 +02:00
|
|
|
<div className='row'>
|
|
|
|
<div className='col-12 col-xl-12'>
|
2021-12-07 09:58:19 +02:00
|
|
|
<CalendarComponent onSelect={onSelect} />
|
2021-11-30 16:00:58 +02:00
|
|
|
<p className='calendar__hours'>
|
|
|
|
{month} : <span> 60 часов </span>
|
|
|
|
</p>
|
2021-06-16 17:51:25 +03:00
|
|
|
</div>
|
2021-11-30 16:00:58 +02:00
|
|
|
</div>
|
|
|
|
<Footer />
|
2021-06-16 17:51:25 +03:00
|
|
|
</section>
|
2021-11-30 16:00:58 +02:00
|
|
|
)
|
|
|
|
}
|
2021-06-16 17:51:25 +03:00
|
|
|
|
2021-11-30 16:00:58 +02:00
|
|
|
export default Calendar
|