import React, {useEffect, useState} from 'react' import {useParams, Link, useNavigate} 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 {useRequest} from "../../hooks/useRequest"; import {createMarkup} from "../../helper"; import arrow from '../../images/right-arrow.png' import rectangle from '../../images/rectangle_secondPage.png' import front from '../../images/front_end.png' import back from '../../images/back_end.png' import design from '../../images/design.png' import './candidate.scss' import {LogoutButton} from "../LogoutButton/LogoutButton"; import {Header} from "../Header/Header"; const Candidate = () => { const {id: candidateId} = useParams(); const navigate = useNavigate(); const dispatch = useDispatch(); const currentCandidateObj = useSelector(selectCurrentCandidate); const [activeSnippet, setActiveSnippet] = useState(true); const {apiRequest} = useRequest(); 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