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 { CodeSnippetlighter } from '../../pages/CodeSnippetPage' 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