import React, {useEffect, useState} from 'react'
import {useParams, Link, useNavigate, Navigate} from 'react-router-dom'
import {useSelector, useDispatch} from 'react-redux'
import SkillSection from '../SkillSection/SkillSection'
import Sidebar from '../CandidateSidebar/CandidateSidebar'
import {Footer} from '../Footer/Footer'
import {currentCandidate, selectCurrentCandidate,} from '../../redux/outstaffingSlice'
import {apiRequest} from "../../api/request";
import {createMarkup} from "../../helper";
import arrow from '../../images/right-arrow.png'
import rectangle from '../../images/rectangle_secondPage.png'
import front from '../Outstaffing/images/front_end.png'
import back from '../Outstaffing/images/back_end.png'
import design from '../Outstaffing/images/design.png'
import './candidate.scss'
import {LogoutButton} from "../LogoutButton/LogoutButton";
import {Header} from "../Header/Header";
const Candidate = () => {
if(localStorage.getItem('role_status') !== '18') {
return
}
const {id: candidateId} = useParams();
const navigate = useNavigate();
const dispatch = useDispatch();
const currentCandidateObj = useSelector(selectCurrentCandidate);
const [activeSnippet, setActiveSnippet] = useState(true);
useEffect(() => {
window.scrollTo(0, 0)
}, []);
useEffect(() => {
apiRequest(`/profile/${candidateId}`, {
params: Number(candidateId),
}).then((el) => dispatch(currentCandidate(el)))
}, [dispatch, candidateId]);
const {position_id, skillValues, vc_text: text} = currentCandidateObj;
const setStyles = () => {
const styles = {
classes: '',
header: '',
img: ''
};
switch (Number(position_id)) {
case 1: {
styles.classes = 'back';
styles.header = 'Backend';
styles.img = back;
break
}
case 2: {
styles.classes = 'des';
styles.header = 'Frontend';
styles.img = front;
break
}
case 3: {
styles.classes = 'front';
styles.header = 'Design';
styles.img = design;
break
}
default:
break
}
return styles
};
const {header, img, classes} = setStyles();
return (
<>
navigate('/')}>
Вернуться к списку
{header}
{
activeSnippet ?
(
# Описание опыта
{text ? (
) : (
{currentCandidateObj.vc_text
? currentCandidateObj.vc_text
: 'Описание отсутствует...'}
)}
) :
(
Vuetifyis.com
Forked from
peluprvi/vuetifyjs.com
Vuetifyjs.com
documentation
Angular
Vuetifyis.com
Forked from
peluprvi/vuetifyjs.com
Vuetifyjs.com
documentation
Angular
Vuetifyis.com
Forked from
peluprvi/vuetifyjs.com
Vuetifyjs.com
documentation
Laravel
)
}
>
)
};
export default Candidate