guild_front/src/pages/CatalogSpecialists/CatalogSpecialists.jsx

201 lines
8.1 KiB
React
Raw Normal View History

2024-01-29 21:19:20 +03:00
import React, { useState } from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import CatalogPersonCard from "@components/CatalogPersonCard/CatalogPersonCard";
import SideBar from "@components/SideBar/SideBar";
import mockWorker from "assets/images/mock/mokPerson.png";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import "./catalogSpecialists.scss";
const CatalogSpecialists = () => {
const [personalInfoItems] = useState([
{
title: "Backend разработчики",
description:
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
available: true,
img: BackEndImg
},
{
title: "Frontend разработчики",
description:
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
available: true,
img: FrontendImg
},
{
title: "Архитектура проектов",
description: "Потоки данных ER ERP CRM CQRS UML BPMN",
available: true,
img: ArchitectureImg
},
{
title: "Дизайн проектов",
description:
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
available: true,
img: DesignImg
},
{
title: "Тестирование проектов",
description: "SQL Postman TestRail Kibana Ручное тестирование",
available: true,
img: TestImg
},
{
title: "Администрирование проектов",
description: "DevOps ELK Kubernetes Docker Bash Apache Oracle Git",
available: true,
img: AdminImg
},
{
title: "Управление проектом",
description: "Scrum Kanban Agile Miro CustDev",
available: true,
img: ManageImg
},
{
title: "Копирайтинг проектов",
description: "Теги Заголовок H1 Дескриптор Абзац Сценарий",
available: true,
img: CopyImg
},
{
title: "Реклама и SMM",
description:
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
available: true,
img: SmmImg
}
]);
const mockPersons = [
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
},
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
},
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
},
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
},
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
},
{
name: "Виталий Д.",
img: mockWorker,
salary: "1 500 Р",
category: "Front End",
level: "Middle+",
skills: ["Java", "Java", "Solid", "Java", "Java", "PHP"],
description: "Основное направление front разработки - Vue.JS Не возникает сложностей на этапах самостоятельной настройки системы сборки проекта Grunt/Gulp/Webpack, или работать с голым JS."
}
]
return (
<section className="catalogSpecialists">
<AuthHeader />
<div className="container catalogSpecialists__wrapper">
<ProfileBreadcrumbs
links={[
{ name: "Главная", link: "/auth" },
{ name: "Свободные разработчики", link: "/" }
]}
/>
<div className="catalogSpecialists__head">
<h2>Каталог специалистов</h2>
<div className="catalogSpecialists__count countInfo">
<div className="countInfo__imgWrapper">
<img src={mockWorker} alt="worker" />
</div>
<p>🖐 50+ специалистов доступны</p>
</div>
</div>
<div className="catalogSpecialists__items">
{personalInfoItems.map((item, index) => {
return (
<CategoriesItem
link={item.link}
key={index}
title={item.title}
img={item.img}
skills={item.description}
available={item.available}
/>
);
})}
</div>
<h3 className="catalogSpecialists__searchTitle">Найти специалиста по навыкам</h3>
<div className="catalogSpecialists__searchBlock">
<input type="text" />
<button>Поиск</button>
</div>
<div className="catalogSpecialists__employees">
{mockPersons.map((person, index) => {
return <CatalogPersonCard
name={person.name}
img={person.img}
salary={person.salary}
category={person.category}
level={person.level}
skills={person.skills}
description={person.description}
key={index}
/>
})}
</div>
<Footer />
</div>
<SideBar />
</section>
);
};
export default CatalogSpecialists;