import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { Link, Navigate, useNavigate } from "react-router-dom"; import { getPartnerRequestId, getPartnerRequests, setPartnerRequestId, setPartnerRequestInfo, } from "@redux/outstaffingSlice"; import { urlForLocal } from "@utils/helper"; import { apiRequest } from "@api/request"; import { getCorrectDate } from "@components/Calendar/calendarHelper"; import { Footer } from "@components/Common/Footer/Footer"; import { Loader } from "@components/Common/Loader/Loader"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import arrowSwitchDate from "assets/icons/arrows/arrowViewReport.png"; import backEndImg from "assets/images/QualificationInfo.png"; import middle from "assets/images/QualificationInfoMiddle.png"; import deleteBtn from "assets/images/deleteBtn.png"; import "./partnerBid.scss"; export const PartnerBid = () => { if (localStorage.getItem("role_status") !== "18") { return ; } const dispatch = useDispatch(); const requestId = useSelector(getPartnerRequestId); const partnerRequests = useSelector(getPartnerRequests); const navigate = useNavigate(); if (!requestId) { return ; } useEffect(() => { setLoader(true); apiRequest(`/request/get-request?request_id=${requestId}`).then((el) => { setRequestInfo(el); dispatch(setPartnerRequestInfo(el)); setLoader(false); }); }, [requestId]); const deleteRequest = () => { apiRequest("/request/update-request", { method: "PUT", data: { user_id: localStorage.getItem("id"), request_id: requestId, status: 0, }, }).then(() => { navigate("/profile/requests"); }); }; const [requestInfo, setRequestInfo] = useState({}); const [loader, setLoader] = useState(false); const [modalDelete, setModalDelete] = useState(false); const [levels] = useState({ 1: "Junior", 2: "Middle", 3: "Middle+", 4: "Senior", }); return (

Подтверждение удаления

Вы решили удалить заявку. После удаления ее нельзя будет восстановить. Продолжаем?

Страница заявки

{loader && } {!loader && ( <>

{requestInfo.title}

Редактировать delete setModalDelete(true)} />
el.id === requestId) - 1 ]?.id ? "partnerBid__switcher__prev switchDate" : "partnerBid__switcher__prev switchDate disable" } onClick={() => { dispatch( setPartnerRequestId( partnerRequests[ partnerRequests.findIndex((el) => el.id === requestId) - 1 ].id ) ); }} > arrow

Дата заявки : {getCorrectDate(requestInfo.created_at)}

el.id === requestId) + 1 ]?.id ? "partnerBid__switcher__next switchDate" : "partnerBid__switcher__next switchDate disable" } onClick={() => { dispatch( setPartnerRequestId( partnerRequests[ partnerRequests.findIndex((el) => el.id === requestId) + 1 ].id ) ); }} > arrow
)} {Boolean(Object.keys(requestInfo).length) && !loader && ( <>

Требования к стеку разработчика

Квалификация

{requestInfo.position.name}.   {requestInfo.skills.map((skill, index) => { return ( {skill.name} {requestInfo.skills.length > index + 1 ? "," : "."}   ); })}

backEndImg

{requestInfo.position.name}

{requestInfo.descr}

middleImg

{requestInfo.level}

Подходящие сотрудники по запросу

{requestInfo.result_profiles.length && requestInfo.result_profiles.map((person, index) => { return (
avatar

{person.fio} - {person.position_title},{" "} {levels[person.level]}

Подробнее
); })}
)}
); };