import React, {useEffect} from 'react' import {useHistory, useParams, Link} from 'react-router-dom' import {useSelector, useDispatch} from 'react-redux' import { currentCandidate, selectCurrentCandidate, auth } from '../../redux/outstaffingSlice' import arrow from '../../images/right-arrow.png' import rectangle from '../../images/rectangle_secondPage.png' import Sidebar from '../CandidateSidebar/CandidateSidebar' import SkillSection from '../SkillSection/SkillSection' import front from '../../images/front_end.png' import back from '../../images/back_end.png' import design from '../../images/design.png' import {fetchGet} from '../../server/server' import {Footer} from '../Footer/Footer' import './candidate.scss' import {getRole} from '../../redux/roleSlice' import {useState} from 'react' const Candidate = () => { const history = useHistory(); const {id: candidateId} = useParams(); const dispatch = useDispatch(); const role = useSelector(getRole); const [activeSnippet, setActiveSnippet] = useState(true); useEffect(() => { window.scrollTo(0, 0) }, []); useEffect(() => { fetchGet({ link: `${process.env.REACT_APP_API_URL}/api/profile/${candidateId}`, params: Number(candidateId), history, role, logout: () => dispatch(auth(false)) }).then((el) => dispatch(currentCandidate(el))) }, [dispatch, candidateId]); const currentCandidateObj = useSelector(selectCurrentCandidate); 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 }; function createMarkup(text) { return {__html: text.split('

').join('

')} } const {header, img, classes} = setStyles(); return (

Аутстаффинг it-персонала

history.push('/')}>
Вернуться к списку

{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