import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; import { CKEditor } from "@ckeditor/ckeditor5-react"; import React, { useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { useParams } from "react-router-dom"; import { getProfileInfo } from "@redux/outstaffingSlice"; import { urlForLocal } from "@utils/helper"; import { apiRequest } from "@api/request"; import { useNotification } from "@hooks/useNotification"; import { Footer } from "@components/Common/Footer/Footer"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import rightArrow from "assets/icons/arrows/arrowRight.svg"; import arrow from "assets/icons/arrows/left-arrow.png"; import arrowDown from "assets/icons/arrows/selectArrow.png"; import deleteIcon from "assets/icons/closeProjectPersons.svg"; import gitImgItem from "assets/icons/gitItemImg.svg"; import avatarMok from "assets/images/avatarMok.webp"; import "./summary.scss"; export const Summary = () => { const profileInfo = useSelector(getProfileInfo); const [openGit, setOpenGit] = useState(false); const [gitInfo, setGitInfo] = useState([]); const [editSummaryOpen, setEditSummaryOpen] = useState(false); const [editSkills, setEditSkills] = useState(false); const [userInfo, setUserInfo] = useState({}); const [summary, setSummary] = useState(""); const [selectedSkills, setSelectedSkills] = useState([]); const [selectSkillsOpen, setSelectSkillsOpen] = useState(false); const [skillsList, seSkillsList] = useState([]); const { showNotification } = useNotification(); const { id: userId } = useParams(); useEffect(() => { apiRequest( `/profile/portfolio-projects?card_id=${localStorage.getItem("cardId")}` ).then((responseGit) => setGitInfo(responseGit)); }, []); useEffect(() => { if (!userId) { setSummary(profileInfo.vc_text); setSelectedSkills(profileInfo.skillValues); } }, [profileInfo]); useEffect(() => { apiRequest(`/skills/get-skills-list`).then((el) => { seSkillsList(el); }); }, []); useEffect(() => { if (userId) { apiRequest(`/resume?userId=${userId}`).then((res) => { setUserInfo({ photo: res.userCard.photo, fio: res.userCard.fio, specification: res.userCard.specification, level: res.userCard.level_title, position: res.userCard.position.name }); setSummary(res.userCard.vc_text); setSelectedSkills(res.userCard.skillValues); }); } }, [userId]); const addSkill = (skill) => { const isSkillFound = selectedSkills.some( (item) => item.skill_id == skill.id ); if (!isSkillFound) { setSelectedSkills((prevValue) => [ ...prevValue, { skill: skill, skill_id: skill.id } ]); } }; const deleteSkill = (skill) => { setSelectedSkills((prevValue) => prevValue.filter((item) => item.skill_id !== skill.skill_id) ); }; function setSkills() { apiRequest("/resume/edit-skills", { method: "PUT", data: { UserCard: { skill: selectedSkills.map((item) => item.skill_id) } } }).then(() => { showNotification({ show: true, text: "Изменения успешно сохранены", type: "success" }); }); } function editSummary() { apiRequest("/resume/edit-text", { method: "PUT", data: { resume: summary } }).then(() => { showNotification({ show: true, text: "Изменения успешно сохранены", type: "success" }); }); } return (
Вернуться
{userId ? userInfo.fio : profileInfo?.fio || profileInfo?.username}{" "} {userId ? userInfo.specification : profileInfo.specification}
addSkill(skill)} key={skill.id} className="select-skills__item" > {skill.name}
); })}Данные не заполнены
)}{itemGit.description}
{itemGit.main_stack}
Нет актуальных проектов
)}