guild_front/src/pages/PartnerСategories/PartnerСategories.jsx

224 lines
8.1 KiB
React
Raw Normal View History

2024-02-01 22:32:55 +03:00
import React, { useEffect, useState } from "react";
// import { useDispatch } from "react-redux";
// import { Link } from "react-router-dom";
2024-03-10 19:45:20 +03:00
import { Link, Navigate } from "react-router-dom";
2023-03-23 14:00:34 +03:00
2024-02-01 22:33:22 +03:00
import { apiRequest } from "@api/request";
// import { setPartnerEmployees } from "@redux/outstaffingSlice";
2023-05-31 08:36:15 +03:00
import { Footer } from "@components/Common/Footer/Footer";
2024-02-02 18:44:11 +03:00
import { Loader } from "@components/Common/Loader/Loader";
2024-02-01 22:33:22 +03:00
import { Navigation } from "@components/Navigation/Navigation";
2024-02-01 22:32:55 +03:00
import PartnerPersonCard from "@components/PartnerPersonCard/PartnerPersonCard";
2023-05-31 08:36:15 +03:00
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
2024-02-01 22:32:55 +03:00
// import rightArrow from "assets/icons/arrows/arrowRight.svg";
// import avatarImg from "assets/images/avatarMok.png";
// import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
// import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
// import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
// import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
// import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
// import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
// import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
// import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
// import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
2023-05-31 08:36:15 +03:00
import "./partnerСategories.scss";
2023-03-16 15:10:53 +03:00
2023-03-23 14:00:34 +03:00
export const PartnerCategories = () => {
2024-02-01 22:32:55 +03:00
// const dispatch = useDispatch();
2023-05-24 13:49:09 +03:00
if (localStorage.getItem("role_status") !== "18") {
return <Navigate to="/profile" replace />;
}
2023-03-16 15:10:53 +03:00
2024-02-01 22:33:22 +03:00
const [staff, setStaff] = useState([]);
2024-02-02 18:44:11 +03:00
const [loader, setLoader] = useState(false);
2024-02-01 22:32:55 +03:00
useEffect(() => {
2024-02-02 18:44:11 +03:00
setLoader(true);
2024-02-01 22:32:55 +03:00
apiRequest("/project/my-employee").then((el) => {
2024-02-02 18:44:11 +03:00
setLoader(false);
setStaff(el?.managerEmployees);
2024-02-01 22:33:22 +03:00
});
}, []);
2024-02-01 22:32:55 +03:00
// const [personalInfoItems] = useState([
// {
// title: "Backend разработчики",
// link: "/profile/categories/employees",
// description:
// "Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
// available: true,
// img: BackEndImg
// },
// {
// title: "Frontend разработчики",
// link: "/profile/categories/employees",
// description:
// "Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
// available: true,
// img: FrontendImg
// },
// {
// title: "Архитектура проектов",
// link: "/profile/categories/employees",
// description: "Потоки данных ER ERP CRM CQRS UML BPMN",
// available: true,
// img: ArchitectureImg
// },
// {
// title: "Дизайн проектов",
// link: "/profile/categories/employees",
// description:
// "Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
// available: true,
// img: DesignImg
// },
// {
// title: "Тестирование проектов",
// link: "/profile/add-request",
// description: "SQL Postman TestRail Kibana Ручное тестирование",
// available: false,
// img: TestImg
// },
// {
// title: "Администрирование проектов",
// link: "/profile/add-request",
// description: "DevOps ELK Kubernetes Docker Bash Apache Oracle Git",
// available: false,
// img: AdminImg
// },
// {
// title: "Управление проектом",
// link: "/profile/add-request",
// description: "Scrum Kanban Agile Miro CustDev",
// available: false,
// img: ManageImg
// },
// {
// title: "Копирайтинг проектов",
// link: "/profile/add-request",
// description: "Теги Заголовок H1 Дескриптор Абзац Сценарий",
// available: false,
// img: CopyImg
// },
// {
// title: "Реклама и SMM",
// link: "/profile/add-request",
// description:
// "Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
// available: false,
// img: SmmImg
// }
// ]);
2023-03-23 14:00:34 +03:00
2024-02-01 22:32:55 +03:00
// const [mokPersons] = useState([
// {
// personAvatar: avatarImg,
// name: "Макаренко Дмитрий",
// qualification: "PHP Backend - разработчик",
// level: "Middle",
// project: "Админка НВД Консалтинг",
// tasks_in_progress: 5,
// month_hours: 140,
// id: 1
// },
// {
// personAvatar: avatarImg,
// name: "Макаренко Дмитрий",
// qualification: "PHP Backend - разработчик",
// level: "Middle",
// project: "Админка НВД Консалтинг",
// tasks_in_progress: 5,
// month_hours: 140,
// id: 2
// },
// {
// personAvatar: avatarImg,
// name: "Макаренко Дмитрий",
// qualification: "PHP Backend - разработчик",
// level: "Middle",
// project: "Админка НВД Консалтинг",
// tasks_in_progress: 5,
// month_hours: 140,
// id: 3
// }
// ]);
2023-05-24 13:49:09 +03:00
return (
<div className="partner-categories">
2023-05-24 13:49:09 +03:00
<ProfileHeader />
<Navigation />
<div className="container">
<ProfileBreadcrumbs
links={[
{ name: "Главная", link: "/profile" },
2024-02-02 18:43:52 +03:00
{ name: "Данные моего персонала", link: "/profile/employees" }
2023-05-24 13:49:09 +03:00
]}
/>
<h2 className="partner-categories__title">Данные персонала</h2>
2024-02-02 18:44:11 +03:00
{loader ? (
<Loader style={"green"} height={80} width={80} />
) : (
<div className="partner-categories__items">
{Boolean(staff) ? (
staff.map((card) => {
return (
<PartnerPersonCard
key={card.id}
name={card.employee.fio}
img={card.employee.avatar}
userId={card.user_id}
/>
);
})
) : (
2024-03-10 19:45:20 +03:00
<div className="partner-categories__empty">
У вас нет нанятого персонала, разместите вашу <br /> первую
вакансию на вкладке{" "}
<Link to={`/profile/requests`}>
<b>Мои вакансии</b>
</Link>
</div>
)}
2024-02-02 18:43:52 +03:00
{/*{personalInfoItems.map((item, index) => {*/}
{/* return (*/}
{/* <Link*/}
{/* to={item.link}*/}
{/* key={index}*/}
{/* className={*/}
{/* item.available*/}
{/* ? "partner-categories__item item"*/}
{/* : "partner-categories__item item item__disable"*/}
2024-02-02 18:43:52 +03:00
{/* }*/}
{/* onClick={() => {*/}
{/* dispatch(setPartnerEmployees(mokPersons));*/}
{/* }}*/}
{/* >*/}
{/* <div className="item__title">*/}
{/* <img src={item.img} alt={item.title} />*/}
{/* <h4>{item.title}</h4>*/}
{/* </div>*/}
{/* <div className="item__info">*/}
{/* <p>{item.description}</p>*/}
{/* <div className="more">*/}
{/* <img src={rightArrow} alt="arrow" />*/}
{/* </div>*/}
{/* </div>*/}
{/* {!item.available && (*/}
{/* <div className="item__disable-hover">*/}
2024-02-02 18:43:52 +03:00
{/* <p>У вас нет персонала из категории</p>*/}
{/* <button>Подобрать</button>*/}
{/* </div>*/}
{/* )}*/}
{/* </Link>*/}
{/* );*/}
{/*})}*/}
</div>
2024-02-02 18:44:11 +03:00
)}
2023-05-24 13:49:09 +03:00
</div>
<Footer />
</div>
);
};