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