guild_front/src/pages/FormPage.js

100 lines
3.2 KiB
JavaScript
Raw Normal View History

import React from 'react'
2021-11-30 17:00:58 +03:00
import { useDispatch, useSelector } from 'react-redux'
import { useHistory, useParams } from 'react-router-dom'
2021-11-30 17:00:58 +03:00
import {
currentCandidate,
selectCurrentCandidate,
auth
} from '../redux/outstaffingSlice'
import SVG from 'react-inlinesvg'
import { WithLogout } from '../hoc/withLogout'
import Form from '../components/Form/Form'
import { LEVELS, SKILLS } from '../components/constants/constants'
import { fetchGet } from '../server/server'
import { Footer } from '../components/Footer/Footer'
2021-07-03 17:37:30 +03:00
2021-11-30 17:00:58 +03:00
import arrow from '../images/right-arrow.png'
import rectangle from '../images/rectangle_secondPage.png'
import telegramIcon from '../images/telegram-icon.svg'
2021-08-18 15:56:24 +03:00
2021-11-30 17:00:58 +03:00
import './formPage.scss'
import { getRole } from '../redux/roleSlice'
2021-08-18 15:56:24 +03:00
const goBack = (history) => {
2021-11-30 17:00:58 +03:00
history.goBack()
};
2021-08-18 15:56:24 +03:00
const FormPage = () => {
const params = useParams();
const history = useHistory();
const dispatch = useDispatch();
const candidate = useSelector(selectCurrentCandidate);
const role = useSelector(getRole);
2021-08-18 15:56:24 +03:00
2021-11-30 17:00:58 +03:00
if (!candidate.id) {
fetchGet({
link: `${process.env.REACT_APP_API_URL}/api/profile/`,
params: Number(params.id),
history,
role,
logout: () => dispatch(auth(false))
}).then((el) => dispatch(currentCandidate(el)))
}
2021-08-18 15:56:24 +03:00
2021-11-30 17:00:58 +03:00
return (
<WithLogout>
<div className='form-page'>
<div className='form-page__back'>
<div className='form-page__arrow' onClick={() => goBack(history)}>
<div className='form-page__arrow-img'>
<img src={arrow} alt='' />
</div>
<div className='form-page__back-to-candidate'>
<span>Вернуться к кандидату</span>
</div>
</div>
</div>
<div className='form-page__candidate'>
<div className='form-page__avatar'>
<img src={candidate.photo} alt='candidate avatar'/>
2021-11-30 17:00:58 +03:00
</div>
<div className='form-page__candidate-info'>
<div className='form-page__position'>
<span>
{candidate.specification} {SKILLS[candidate.position_id]},{' '}
{LEVELS[candidate.level]}
</span>
</div>
<div className='form-page__selected'>
<img src={rectangle} alt='rectangle'/>
2021-11-30 17:00:58 +03:00
<span>Выбранный кандидат</span>
2021-08-18 15:56:24 +03:00
</div>
2021-11-30 17:00:58 +03:00
</div>
</div>
<div className='form-page__interview'>
<div className='form-page__form'>
<Form />
</div>
<div className='form-page__separator'>
<div className='form-page__line'></div>
<div className='form-page__option'>или</div>
</div>
<div className='form-page__telegram'>
<div className='form-page__telegram-text'>
Заявка на собеседование через телеграм
2021-08-18 15:56:24 +03:00
</div>
2021-11-30 17:00:58 +03:00
<div className='form-page__telegram-icon'>
<a href='https://t.me/st0kir' target='_blank' rel="noreferrer">
2021-11-30 17:00:58 +03:00
<SVG src={telegramIcon} />
</a>
2021-08-18 15:56:24 +03:00
</div>
2021-11-30 17:00:58 +03:00
</div>
2021-08-18 15:56:24 +03:00
</div>
2021-11-30 17:00:58 +03:00
<Footer />
</div>
</WithLogout>
)
};
2021-07-03 17:37:30 +03:00
2021-11-30 17:00:58 +03:00
export default FormPage