prettier config
This commit is contained in:
@ -22,18 +22,18 @@ export const Article = () => {
|
||||
{
|
||||
image: cardImg1,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg2,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg3,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
},
|
||||
data: "1 марта, 2023"
|
||||
}
|
||||
]);
|
||||
|
||||
return (
|
||||
@ -48,8 +48,8 @@ export const Article = () => {
|
||||
{ name: "Блог", link: "/blog" },
|
||||
{
|
||||
name: "Аутстаффинг джунов: почему это выгодно",
|
||||
link: "/blog",
|
||||
},
|
||||
link: "/blog"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
@ -44,7 +44,7 @@ export const AuthForCandidate = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: BackEndImg,
|
||||
img: BackEndImg
|
||||
},
|
||||
{
|
||||
title: "Frontend разработчики",
|
||||
@ -52,14 +52,14 @@ export const AuthForCandidate = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: FrontendImg,
|
||||
img: FrontendImg
|
||||
},
|
||||
{
|
||||
title: "Архитектура проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "Потоки данных ER ERP CRM CQRS UML BPMN",
|
||||
available: true,
|
||||
img: ArchitectureImg,
|
||||
img: ArchitectureImg
|
||||
},
|
||||
{
|
||||
title: "Дизайн проектов",
|
||||
@ -67,35 +67,35 @@ export const AuthForCandidate = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: DesignImg,
|
||||
img: DesignImg
|
||||
},
|
||||
{
|
||||
title: "Тестирование проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "SQL Postman TestRail Kibana Ручное тестирование",
|
||||
available: false,
|
||||
img: TestImg,
|
||||
img: TestImg
|
||||
},
|
||||
{
|
||||
title: "Администрирование проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "DevOps ELK Kubernetes Docker Bash Apache Oracle Git",
|
||||
available: false,
|
||||
img: AdminImg,
|
||||
img: AdminImg
|
||||
},
|
||||
{
|
||||
title: "Управление проектом",
|
||||
link: "/registration-candidate",
|
||||
description: "Scrum Kanban Agile Miro CustDev",
|
||||
available: false,
|
||||
img: ManageImg,
|
||||
img: ManageImg
|
||||
},
|
||||
{
|
||||
title: "Копирайтинг проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "Теги Заголовок H1 Дескриптор Абзац Сценарий",
|
||||
available: false,
|
||||
img: CopyImg,
|
||||
img: CopyImg
|
||||
},
|
||||
{
|
||||
title: "Реклама и SMM",
|
||||
@ -103,8 +103,8 @@ export const AuthForCandidate = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: false,
|
||||
img: SmmImg,
|
||||
},
|
||||
img: SmmImg
|
||||
}
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -21,33 +21,33 @@ export const Blog = () => {
|
||||
{
|
||||
image: cardImg1,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg2,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg3,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg4,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg5,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
data: "1 марта, 2023"
|
||||
},
|
||||
{
|
||||
image: cardImg6,
|
||||
title: "Аутстаффинг джунов: почему это выгодно",
|
||||
data: "1 марта, 2023",
|
||||
},
|
||||
data: "1 марта, 2023"
|
||||
}
|
||||
]);
|
||||
|
||||
return (
|
||||
@ -60,7 +60,7 @@ export const Blog = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/auth" },
|
||||
{ name: "Блог", link: "/blog" },
|
||||
{ name: "Блог", link: "/blog" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
@ -5,7 +5,7 @@ import { Navigate, useNavigate, useParams } from "react-router-dom";
|
||||
|
||||
import {
|
||||
currentCandidate,
|
||||
selectCurrentCandidate,
|
||||
selectCurrentCandidate
|
||||
} from "@redux/outstaffingSlice";
|
||||
|
||||
import { LEVELS, SKILLS } from "@utils/constants";
|
||||
@ -39,7 +39,7 @@ const FormPage = () => {
|
||||
useEffect(() => {
|
||||
if (!candidate.id) {
|
||||
apiRequest("/profile", {
|
||||
params: Number(params.id),
|
||||
params: Number(params.id)
|
||||
}).then((el) => dispatch(currentCandidate(el)));
|
||||
}
|
||||
}, []);
|
||||
|
@ -17,7 +17,7 @@ export const FrequentlyAskedQuestion = () => {
|
||||
id: params.id,
|
||||
title: "Это фриланс-платформа?",
|
||||
answer:
|
||||
"Нет, мы работаем только с юридическими лицами и индивидуальными предпринимателями и тщательно проверяем своих партнеров. Партнерами являются агентства, которые специализируются на оказании услуг в формате аутстафф-модели и обладают глубокой экспертизой в разработке и внедрении IT-проектов.",
|
||||
"Нет, мы работаем только с юридическими лицами и индивидуальными предпринимателями и тщательно проверяем своих партнеров. Партнерами являются агентства, которые специализируются на оказании услуг в формате аутстафф-модели и обладают глубокой экспертизой в разработке и внедрении IT-проектов."
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
@ -34,12 +34,12 @@ export const FrequentlyAskedQuestion = () => {
|
||||
{ name: "Главная", link: "/auth" },
|
||||
{
|
||||
name: "FAQ (часто задаваемые вопросы)",
|
||||
link: "/frequently-asked-questions",
|
||||
link: "/frequently-asked-questions"
|
||||
},
|
||||
{
|
||||
name: question.title,
|
||||
link: `/frequently-asked-question/${params.id}`,
|
||||
},
|
||||
link: `/frequently-asked-question/${params.id}`
|
||||
}
|
||||
]}
|
||||
/>
|
||||
<div className="frequently-asked-question__title">{question.title}</div>
|
||||
|
@ -17,55 +17,55 @@ export const FrequentlyAskedQuestions = () => {
|
||||
questions: [
|
||||
{
|
||||
id: 1,
|
||||
title: "Это фриланс-платформа?",
|
||||
title: "Это фриланс-платформа?"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title:
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?",
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Это фриланс-платформа?",
|
||||
title: "Это фриланс-платформа?"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title:
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?",
|
||||
},
|
||||
],
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Поиск специалиста",
|
||||
questions: [
|
||||
{
|
||||
id: 11,
|
||||
title: "Это фриланс-платформа?",
|
||||
title: "Это фриланс-платформа?"
|
||||
},
|
||||
{
|
||||
id: 22,
|
||||
title:
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?",
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?"
|
||||
},
|
||||
{
|
||||
id: 33,
|
||||
title: "Это фриланс-платформа?",
|
||||
title: "Это фриланс-платформа?"
|
||||
},
|
||||
{
|
||||
id: 44,
|
||||
title:
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?",
|
||||
},
|
||||
],
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Бронирование специалиста",
|
||||
questions: [
|
||||
{
|
||||
id: 11,
|
||||
title: "Это фриланс-платформа?",
|
||||
},
|
||||
],
|
||||
title: "Это фриланс-платформа?"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Работа с выбранным специалистом",
|
||||
@ -73,10 +73,10 @@ export const FrequentlyAskedQuestions = () => {
|
||||
{
|
||||
id: 11,
|
||||
title:
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?",
|
||||
},
|
||||
],
|
||||
},
|
||||
"Чем вы отличаетесь от традиционного процесса выбора исполнителя?"
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
@ -90,8 +90,8 @@ export const FrequentlyAskedQuestions = () => {
|
||||
{ name: "Главная", link: "/auth" },
|
||||
{
|
||||
name: "FAQ (часто задаваемые вопросы)",
|
||||
link: "/frequently-asked-questions",
|
||||
},
|
||||
link: "/frequently-asked-questions"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
<div className="frequently-asked-questions__about">
|
||||
|
@ -26,7 +26,7 @@ const Home = () => {
|
||||
useEffect(() => {
|
||||
setIsLoadingMore(true);
|
||||
apiRequest("/profile", {
|
||||
params: { limit: 1000 },
|
||||
params: { limit: 1000 }
|
||||
}).then((profileArr) => {
|
||||
dispatch(profiles(profileArr));
|
||||
setIsLoadingMore(false);
|
||||
@ -63,7 +63,7 @@ const Home = () => {
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Запросы и открытые позиции", link: "/profile/requests" },
|
||||
{ name: "Каталог", link: "/profile/catalog" },
|
||||
{ name: "Каталог", link: "/profile/catalog" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="catalog__title">Каталог специалистов</h2>
|
||||
|
@ -73,12 +73,12 @@ export const PartnerAddRequest = () => {
|
||||
) {
|
||||
setInputs({
|
||||
title: partnerRequestInfo.title,
|
||||
description: partnerRequestInfo.descr,
|
||||
description: partnerRequestInfo.descr
|
||||
});
|
||||
setSelectedSpecialization(partnerRequestInfo.position);
|
||||
setSelectedLevel({
|
||||
name: partnerRequestInfo.level,
|
||||
id: partnerRequestInfo.knowledge_level_id,
|
||||
id: partnerRequestInfo.knowledge_level_id
|
||||
});
|
||||
setSelectedCount(partnerRequestInfo.specialist_count);
|
||||
setSelectedSkills(partnerRequestInfo.skills);
|
||||
@ -115,8 +115,8 @@ export const PartnerAddRequest = () => {
|
||||
descr: inputs.description,
|
||||
skill_ids: selectedSkills.map((skill) => {
|
||||
return skill.id;
|
||||
}),
|
||||
},
|
||||
})
|
||||
}
|
||||
}).then(() => {
|
||||
navigate("/profile/requests");
|
||||
});
|
||||
@ -133,8 +133,8 @@ export const PartnerAddRequest = () => {
|
||||
descr: inputs.description,
|
||||
skill_ids: selectedSkills.map((skill) => {
|
||||
return skill.id;
|
||||
}),
|
||||
},
|
||||
})
|
||||
}
|
||||
}).then(() => {
|
||||
navigate("/profile/requests");
|
||||
});
|
||||
@ -154,8 +154,8 @@ export const PartnerAddRequest = () => {
|
||||
name: `${
|
||||
editRequest ? "Редактирование заявки" : "Создание новой заявки"
|
||||
}`,
|
||||
link: "/profile/add-request",
|
||||
},
|
||||
link: "/profile/add-request"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
<h2 className="partnerAddRequest__title">
|
||||
@ -175,7 +175,7 @@ export const PartnerAddRequest = () => {
|
||||
onChange={(e) =>
|
||||
setInputs((prevValue) => ({
|
||||
...prevValue,
|
||||
title: e.target.value,
|
||||
title: e.target.value
|
||||
}))
|
||||
}
|
||||
type="text"
|
||||
@ -242,7 +242,7 @@ export const PartnerAddRequest = () => {
|
||||
setSkills((prevArray) => [...prevArray, skill]);
|
||||
setFilteredSkills((prevArray) => [
|
||||
...prevArray,
|
||||
skill,
|
||||
skill
|
||||
]);
|
||||
setSelectedSkills(
|
||||
selectedSkills.filter((skill, indexSkill) => {
|
||||
@ -277,7 +277,7 @@ export const PartnerAddRequest = () => {
|
||||
onClick={() => {
|
||||
setSelectedSkills((prevArray) => [
|
||||
...prevArray,
|
||||
skill,
|
||||
skill
|
||||
]);
|
||||
setFilteredSkills(
|
||||
filteredSkills.filter((skill, skillIndex) => {
|
||||
@ -343,7 +343,7 @@ export const PartnerAddRequest = () => {
|
||||
onChange={(e) =>
|
||||
setInputs((prevValue) => ({
|
||||
...prevValue,
|
||||
description: e.target.value,
|
||||
description: e.target.value
|
||||
}))
|
||||
}
|
||||
/>
|
||||
|
@ -6,7 +6,7 @@ import {
|
||||
getPartnerRequestId,
|
||||
getPartnerRequests,
|
||||
setPartnerRequestId,
|
||||
setPartnerRequestInfo,
|
||||
setPartnerRequestInfo
|
||||
} from "@redux/outstaffingSlice";
|
||||
|
||||
import { urlForLocal } from "@utils/helper";
|
||||
@ -57,8 +57,8 @@ export const PartnerBid = () => {
|
||||
data: {
|
||||
user_id: localStorage.getItem("id"),
|
||||
request_id: requestId,
|
||||
status: 0,
|
||||
},
|
||||
status: 0
|
||||
}
|
||||
}).then(() => {
|
||||
navigate("/profile/requests");
|
||||
});
|
||||
@ -71,7 +71,7 @@ export const PartnerBid = () => {
|
||||
1: "Junior",
|
||||
2: "Middle",
|
||||
3: "Middle+",
|
||||
4: "Senior",
|
||||
4: "Senior"
|
||||
});
|
||||
return (
|
||||
<div className="partnerBid">
|
||||
@ -107,7 +107,7 @@ export const PartnerBid = () => {
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Запросы и открытые позиции", link: "/profile/requests" },
|
||||
{ name: "Просмотр заявки - PHP разработчик", link: "/profile/bid" },
|
||||
{ name: "Просмотр заявки - PHP разработчик", link: "/profile/bid" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="partnerBid__title">Страница заявки </h2>
|
||||
|
@ -33,8 +33,8 @@ export const PartnerEmployees = () => {
|
||||
{ name: "Данные моего персонала", link: "/profile/categories" },
|
||||
{
|
||||
name: "Backend разработчики",
|
||||
link: "/profile/categories/employees",
|
||||
},
|
||||
link: "/profile/categories/employees"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
<h2 className="partnerEmployees__title">Backend разработчики</h2>
|
||||
|
@ -4,7 +4,7 @@ import { Link, Navigate } from "react-router-dom";
|
||||
|
||||
import {
|
||||
setPartnerRequestId,
|
||||
setPartnerRequests,
|
||||
setPartnerRequests
|
||||
} from "@redux/outstaffingSlice";
|
||||
|
||||
import { apiRequest } from "@api/request";
|
||||
@ -48,7 +48,7 @@ export const PartnerRequests = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Запросы и открытые позиции", link: "/profile/requests" },
|
||||
{ name: "Запросы и открытые позиции", link: "/profile/requests" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="partnerRequests__title">Запросы</h2>
|
||||
|
@ -21,12 +21,12 @@ export const PartnerSettings = () => {
|
||||
const [inputsValue, setInputsValue] = useState({
|
||||
name: "",
|
||||
oldPassword: "",
|
||||
password: "",
|
||||
password: ""
|
||||
});
|
||||
|
||||
const [inputsError, setInputsError] = useState({
|
||||
name: false,
|
||||
password: false,
|
||||
password: false
|
||||
});
|
||||
|
||||
const [loader, setLoader] = useState(false);
|
||||
@ -44,37 +44,37 @@ export const PartnerSettings = () => {
|
||||
apiRequest("/user/change-personal-data", {
|
||||
method: "PUT",
|
||||
data: {
|
||||
newUsername: inputsValue.name,
|
||||
},
|
||||
newUsername: inputsValue.name
|
||||
}
|
||||
}).then((data) => {
|
||||
apiRequest("/user/change-password", {
|
||||
method: "PUT",
|
||||
data: {
|
||||
password: inputsValue.oldPassword,
|
||||
newPassword: inputsValue.password,
|
||||
},
|
||||
newPassword: inputsValue.password
|
||||
}
|
||||
}).then((data) => {
|
||||
setLoader(false);
|
||||
if (data.status === "success") {
|
||||
setInputsError({
|
||||
name: false,
|
||||
password: false,
|
||||
password: false
|
||||
});
|
||||
setInputsValue({
|
||||
name: "",
|
||||
oldPassword: "",
|
||||
password: "",
|
||||
password: ""
|
||||
});
|
||||
showNotification({
|
||||
show: true,
|
||||
text: "Данные изменены",
|
||||
type: "success",
|
||||
type: "success"
|
||||
});
|
||||
} else {
|
||||
showNotification({
|
||||
show: true,
|
||||
text: "Неверные данные",
|
||||
type: "error",
|
||||
type: "error"
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -88,7 +88,7 @@ export const PartnerSettings = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Настройки", link: "/profile/settings" },
|
||||
{ name: "Настройки", link: "/profile/settings" }
|
||||
]}
|
||||
/>
|
||||
<div className="partner-settings">
|
||||
@ -105,11 +105,11 @@ export const PartnerSettings = () => {
|
||||
onChange={(e) => {
|
||||
setInputsValue((prevValue) => ({
|
||||
...prevValue,
|
||||
name: e.target.value,
|
||||
name: e.target.value
|
||||
}));
|
||||
setInputsError((prevValue) => ({
|
||||
...prevValue,
|
||||
name: false,
|
||||
name: false
|
||||
}));
|
||||
}}
|
||||
value={inputsValue.name}
|
||||
@ -128,11 +128,11 @@ export const PartnerSettings = () => {
|
||||
onChange={(e) => {
|
||||
setInputsValue((prevValue) => ({
|
||||
...prevValue,
|
||||
oldPassword: e.target.value,
|
||||
oldPassword: e.target.value
|
||||
}));
|
||||
setInputsError((prevValue) => ({
|
||||
...prevValue,
|
||||
password: false,
|
||||
password: false
|
||||
}));
|
||||
}}
|
||||
value={inputsValue.oldPassword}
|
||||
@ -149,11 +149,11 @@ export const PartnerSettings = () => {
|
||||
onChange={(e) => {
|
||||
setInputsValue((prevValue) => ({
|
||||
...prevValue,
|
||||
password: e.target.value,
|
||||
password: e.target.value
|
||||
}));
|
||||
setInputsError((prevValue) => ({
|
||||
...prevValue,
|
||||
password: false,
|
||||
password: false
|
||||
}));
|
||||
}}
|
||||
value={inputsValue.password}
|
||||
|
@ -31,7 +31,7 @@ export const PartnerTreaties = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Договора и отчетность", link: "/profile/treaties" },
|
||||
{ name: "Договора и отчетность", link: "/profile/treaties" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="treaties__title">Договора и отчетность</h2>
|
||||
|
@ -37,7 +37,7 @@ export const PartnerCategories = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: BackEndImg,
|
||||
img: BackEndImg
|
||||
},
|
||||
{
|
||||
title: "Frontend разработчики",
|
||||
@ -45,14 +45,14 @@ export const PartnerCategories = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: FrontendImg,
|
||||
img: FrontendImg
|
||||
},
|
||||
{
|
||||
title: "Архитектура проектов",
|
||||
link: "/profile/categories/employees",
|
||||
description: "Потоки данных ER ERP CRM CQRS UML BPMN",
|
||||
available: true,
|
||||
img: ArchitectureImg,
|
||||
img: ArchitectureImg
|
||||
},
|
||||
{
|
||||
title: "Дизайн проектов",
|
||||
@ -60,35 +60,35 @@ export const PartnerCategories = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: DesignImg,
|
||||
img: DesignImg
|
||||
},
|
||||
{
|
||||
title: "Тестирование проектов",
|
||||
link: "/profile/add-request",
|
||||
description: "SQL Postman TestRail Kibana Ручное тестирование",
|
||||
available: false,
|
||||
img: TestImg,
|
||||
img: TestImg
|
||||
},
|
||||
{
|
||||
title: "Администрирование проектов",
|
||||
link: "/profile/add-request",
|
||||
description: "DevOps ELK Kubernetes Docker Bash Apache Oracle Git",
|
||||
available: false,
|
||||
img: AdminImg,
|
||||
img: AdminImg
|
||||
},
|
||||
{
|
||||
title: "Управление проектом",
|
||||
link: "/profile/add-request",
|
||||
description: "Scrum Kanban Agile Miro CustDev",
|
||||
available: false,
|
||||
img: ManageImg,
|
||||
img: ManageImg
|
||||
},
|
||||
{
|
||||
title: "Копирайтинг проектов",
|
||||
link: "/profile/add-request",
|
||||
description: "Теги Заголовок H1 Дескриптор Абзац Сценарий",
|
||||
available: false,
|
||||
img: CopyImg,
|
||||
img: CopyImg
|
||||
},
|
||||
{
|
||||
title: "Реклама и SMM",
|
||||
@ -96,8 +96,8 @@ export const PartnerCategories = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: false,
|
||||
img: SmmImg,
|
||||
},
|
||||
img: SmmImg
|
||||
}
|
||||
]);
|
||||
|
||||
const [mokPersons] = useState([
|
||||
@ -109,7 +109,7 @@ export const PartnerCategories = () => {
|
||||
project: "Админка НВД Консалтинг",
|
||||
tasks_in_progress: 5,
|
||||
month_hours: 140,
|
||||
id: 1,
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
personAvatar: avatarImg,
|
||||
@ -119,7 +119,7 @@ export const PartnerCategories = () => {
|
||||
project: "Админка НВД Консалтинг",
|
||||
tasks_in_progress: 5,
|
||||
month_hours: 140,
|
||||
id: 2,
|
||||
id: 2
|
||||
},
|
||||
{
|
||||
personAvatar: avatarImg,
|
||||
@ -129,8 +129,8 @@ export const PartnerCategories = () => {
|
||||
project: "Админка НВД Консалтинг",
|
||||
tasks_in_progress: 5,
|
||||
month_hours: 140,
|
||||
id: 3,
|
||||
},
|
||||
id: 3
|
||||
}
|
||||
]);
|
||||
return (
|
||||
<div className="partnerCategories">
|
||||
@ -140,7 +140,7 @@ export const PartnerCategories = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Данные моего персонала", link: "/profile/categories" },
|
||||
{ name: "Данные моего персонала", link: "/profile/categories" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="partnerCategories__title">Данные персонала</h2>
|
||||
|
@ -31,32 +31,32 @@ export const Profile = () => {
|
||||
path: "profile/calendar",
|
||||
img: reportsIcon,
|
||||
title: "Ваша отчетность",
|
||||
description: "<span></span>Отработанных в этом месяце часов",
|
||||
description: "<span></span>Отработанных в этом месяце часов"
|
||||
},
|
||||
{
|
||||
path: "profile/summary",
|
||||
img: summaryIcon,
|
||||
title: "Резюме",
|
||||
description: "Ваше резюме<br/><span>заполнено</span>",
|
||||
description: "Ваше резюме<br/><span>заполнено</span>"
|
||||
},
|
||||
{
|
||||
path: "profile/tracker",
|
||||
img: timerIcon,
|
||||
title: "Трекер времени",
|
||||
description: "Сколько времени занимает<br/> выполнение задач",
|
||||
description: "Сколько времени занимает<br/> выполнение задач"
|
||||
},
|
||||
{
|
||||
path: "profile/payouts",
|
||||
img: paymentIcon,
|
||||
title: "Выплаты",
|
||||
description: "У вас <span>подтвержден</span><br/> статус самозанятого",
|
||||
description: "У вас <span>подтвержден</span><br/> статус самозанятого"
|
||||
},
|
||||
{
|
||||
path: "profile/settings",
|
||||
img: settingIcon,
|
||||
title: "Настройки профиля",
|
||||
description: "Перейдите чтобы начать<br/> редактирование",
|
||||
},
|
||||
description: "Перейдите чтобы начать<br/> редактирование"
|
||||
}
|
||||
],
|
||||
partner: [
|
||||
{
|
||||
@ -64,33 +64,33 @@ export const Profile = () => {
|
||||
img: reportsIcon,
|
||||
title: "Запросы и открытые позиции",
|
||||
description:
|
||||
"<span>У вас 2 вакансии<br/></span>открытые от лица компании",
|
||||
"<span>У вас 2 вакансии<br/></span>открытые от лица компании"
|
||||
},
|
||||
{
|
||||
path: "profile/categories",
|
||||
img: summaryIcon,
|
||||
title: "Данные персонала",
|
||||
description: "Наши специалисты <br/><span>уже работающие у вас</span>",
|
||||
description: "Наши специалисты <br/><span>уже работающие у вас</span>"
|
||||
},
|
||||
{
|
||||
path: "profile/tracker",
|
||||
img: timerIcon,
|
||||
title: "Трекер времени",
|
||||
description: "Контроль времени и<br/> выполнение задач",
|
||||
description: "Контроль времени и<br/> выполнение задач"
|
||||
},
|
||||
{
|
||||
path: "profile/treaties",
|
||||
img: paymentIcon,
|
||||
title: "Договора и отчетность",
|
||||
description: "Ключевые условия<br/> договора",
|
||||
description: "Ключевые условия<br/> договора"
|
||||
},
|
||||
{
|
||||
path: "profile/settings",
|
||||
img: settingIcon,
|
||||
title: "Настройки профиля",
|
||||
description: "Перейдите чтобы начать<br/> редактирование",
|
||||
},
|
||||
],
|
||||
description: "Перейдите чтобы начать<br/> редактирование"
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
return (
|
||||
|
@ -20,14 +20,14 @@ export const ProfileCandidate = () => {
|
||||
path: "quiz",
|
||||
img: reportsIcon,
|
||||
title: "Мои тесты",
|
||||
description: "<span>У вас 122 часа<br/></span>отработанных в этом месяце",
|
||||
description: "<span>У вас 122 часа<br/></span>отработанных в этом месяце"
|
||||
},
|
||||
{
|
||||
path: "profile/settings",
|
||||
img: settingIcon,
|
||||
title: "Настройки профиля",
|
||||
description: "Перейдите чтобы начать редактирование",
|
||||
},
|
||||
description: "Перейдите чтобы начать редактирование"
|
||||
}
|
||||
]);
|
||||
return (
|
||||
<div className="profile-candidate">
|
||||
|
@ -20,7 +20,7 @@ import {
|
||||
setColumnName,
|
||||
setColumnPriority,
|
||||
setProjectBoardFetch,
|
||||
setToggleTab,
|
||||
setToggleTab
|
||||
} from "@redux/projectsTrackerSlice";
|
||||
|
||||
import { urlForLocal } from "@utils/helper";
|
||||
@ -73,7 +73,7 @@ export const ProjectTracker = () => {
|
||||
const [tags, setTags] = useState({
|
||||
open: false,
|
||||
add: false,
|
||||
edit: false,
|
||||
edit: false
|
||||
});
|
||||
const [acceptModalOpen, setAcceptModalOpen] = useState(false);
|
||||
const [currentColumnDelete, setCurrentColumnDelete] = useState(null);
|
||||
@ -93,13 +93,13 @@ export const ProjectTracker = () => {
|
||||
const priority = {
|
||||
2: "Высокий",
|
||||
1: "Средний",
|
||||
0: "Низкий",
|
||||
0: "Низкий"
|
||||
};
|
||||
|
||||
const priorityClass = {
|
||||
2: "high",
|
||||
1: "middle",
|
||||
0: "low",
|
||||
0: "low"
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
@ -117,7 +117,7 @@ export const ProjectTracker = () => {
|
||||
if (column.tasks.length) columnsTasksEmpty = false;
|
||||
setOpenColumnSelect((prevState) => ({
|
||||
...prevState,
|
||||
[column.id]: false,
|
||||
[column.id]: false
|
||||
}));
|
||||
columnHover[column.id] = false;
|
||||
column.tasks.forEach((task) => (tasksHover[task.id] = false));
|
||||
@ -154,7 +154,7 @@ export const ProjectTracker = () => {
|
||||
function dragEndTaskHandler() {
|
||||
setTaskHover((prevState) => ({ [prevState]: false }));
|
||||
setWrapperHover((prevState) => ({
|
||||
[prevState]: false,
|
||||
[prevState]: false
|
||||
}));
|
||||
}
|
||||
|
||||
@ -168,7 +168,7 @@ export const ProjectTracker = () => {
|
||||
movePositionProjectTask({
|
||||
startTask: startWrapperIndexTest.current.task,
|
||||
finishTask: task,
|
||||
finishIndex: finishTask,
|
||||
finishIndex: finishTask
|
||||
})
|
||||
);
|
||||
}
|
||||
@ -184,7 +184,7 @@ export const ProjectTracker = () => {
|
||||
|
||||
setWrapperHover((prevState) => ({
|
||||
[prevState]: false,
|
||||
[columnId]: true,
|
||||
[columnId]: true
|
||||
}));
|
||||
}
|
||||
|
||||
@ -192,7 +192,7 @@ export const ProjectTracker = () => {
|
||||
e.preventDefault();
|
||||
|
||||
setWrapperHover((prevState) => ({
|
||||
[prevState]: false,
|
||||
[prevState]: false
|
||||
}));
|
||||
|
||||
if (
|
||||
@ -206,7 +206,7 @@ export const ProjectTracker = () => {
|
||||
dispatch(
|
||||
moveProjectTask({
|
||||
startWrapperIndex: startWrapperIndexTest.current,
|
||||
columnId,
|
||||
columnId
|
||||
})
|
||||
);
|
||||
}
|
||||
@ -234,14 +234,14 @@ export const ProjectTracker = () => {
|
||||
data: {
|
||||
column_id: column.id,
|
||||
project_id: projectBoard.id,
|
||||
status: 0,
|
||||
},
|
||||
status: 0
|
||||
}
|
||||
}).then(() => {
|
||||
if (column.priority < projectBoard.columns.length) {
|
||||
for (let i = column.priority; i < projectBoard.columns.length; i++) {
|
||||
const currentColumn = {
|
||||
column_id: projectBoard.columns[i].id,
|
||||
priority: i,
|
||||
priority: i
|
||||
};
|
||||
priorityColumns.push(currentColumn);
|
||||
}
|
||||
@ -249,8 +249,8 @@ export const ProjectTracker = () => {
|
||||
method: "POST",
|
||||
data: {
|
||||
project_id: projectBoard.id,
|
||||
data: JSON.stringify(priorityColumns),
|
||||
},
|
||||
data: JSON.stringify(priorityColumns)
|
||||
}
|
||||
}).then(() => {
|
||||
dispatch(setProjectBoardFetch(projectBoard.id));
|
||||
});
|
||||
@ -266,8 +266,8 @@ export const ProjectTracker = () => {
|
||||
method: "DELETE",
|
||||
data: {
|
||||
project_id: projectBoard.id,
|
||||
user_id: userId,
|
||||
},
|
||||
user_id: userId
|
||||
}
|
||||
}).then(() => {
|
||||
dispatch(deletePersonOnProject(userId));
|
||||
});
|
||||
@ -316,21 +316,21 @@ export const ProjectTracker = () => {
|
||||
title: tagInfo.description,
|
||||
slug: tagInfo.name,
|
||||
color: color,
|
||||
status: 1,
|
||||
},
|
||||
status: 1
|
||||
}
|
||||
}).then((data) => {
|
||||
apiRequest("/mark/attach", {
|
||||
method: "POST",
|
||||
data: {
|
||||
mark_id: data.id,
|
||||
entity_type: 1,
|
||||
entity_id: projectId.id,
|
||||
},
|
||||
entity_id: projectId.id
|
||||
}
|
||||
}).then((data) => {
|
||||
dispatch(addNewTagToProject(data.mark));
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
add: false,
|
||||
add: false
|
||||
}));
|
||||
});
|
||||
});
|
||||
@ -343,13 +343,13 @@ export const ProjectTracker = () => {
|
||||
mark_id: tagInfo.editMarkId,
|
||||
title: tagInfo.description,
|
||||
slug: tagInfo.name,
|
||||
color: color,
|
||||
},
|
||||
color: color
|
||||
}
|
||||
}).then(() => {
|
||||
dispatch(setProjectBoardFetch(projectId.id));
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
edit: false,
|
||||
edit: false
|
||||
}));
|
||||
setTagInfo({ description: "", name: "" });
|
||||
setColor("#aabbcc");
|
||||
@ -362,8 +362,8 @@ export const ProjectTracker = () => {
|
||||
data: {
|
||||
mark_id: tagId,
|
||||
entity_type: 1,
|
||||
entity_id: projectId.id,
|
||||
},
|
||||
entity_id: projectId.id
|
||||
}
|
||||
}).then(() => {
|
||||
dispatch(deleteTagProject(tagId));
|
||||
});
|
||||
@ -412,11 +412,11 @@ export const ProjectTracker = () => {
|
||||
setTags({
|
||||
open: false,
|
||||
add: false,
|
||||
edit: false,
|
||||
edit: false
|
||||
});
|
||||
setTagInfo({
|
||||
description: "",
|
||||
name: "",
|
||||
name: ""
|
||||
});
|
||||
setColor("#aabbcc");
|
||||
}
|
||||
@ -453,7 +453,7 @@ export const ProjectTracker = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Трекер", link: "/profile/tracker" },
|
||||
{ name: "Трекер", link: "/profile/tracker" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
||||
@ -705,7 +705,7 @@ export const ProjectTracker = () => {
|
||||
onClick={() => {
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
open: !tags.open,
|
||||
open: !tags.open
|
||||
}));
|
||||
}}
|
||||
>
|
||||
@ -719,7 +719,7 @@ export const ProjectTracker = () => {
|
||||
onClick={() =>
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
add: true,
|
||||
add: true
|
||||
}))
|
||||
}
|
||||
>
|
||||
@ -751,12 +751,12 @@ export const ProjectTracker = () => {
|
||||
onClick={() => {
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
edit: true,
|
||||
edit: true
|
||||
}));
|
||||
setTagInfo({
|
||||
description: tag.title,
|
||||
name: tag.slug,
|
||||
editMarkId: tag.id,
|
||||
editMarkId: tag.id
|
||||
});
|
||||
setColor(tag.color);
|
||||
}}
|
||||
@ -784,11 +784,11 @@ export const ProjectTracker = () => {
|
||||
setTags((prevState) => ({
|
||||
...prevState,
|
||||
add: false,
|
||||
edit: false,
|
||||
edit: false
|
||||
}));
|
||||
setTagInfo({
|
||||
description: "",
|
||||
name: "",
|
||||
name: ""
|
||||
});
|
||||
setColor("#aabbcc");
|
||||
}}
|
||||
@ -801,7 +801,7 @@ export const ProjectTracker = () => {
|
||||
onChange={(e) =>
|
||||
setTagInfo((prevState) => ({
|
||||
...prevState,
|
||||
description: e.target.value,
|
||||
description: e.target.value
|
||||
}))
|
||||
}
|
||||
/>
|
||||
@ -813,7 +813,7 @@ export const ProjectTracker = () => {
|
||||
onChange={(e) =>
|
||||
setTagInfo((prevState) => ({
|
||||
...prevState,
|
||||
name: e.target.value,
|
||||
name: e.target.value
|
||||
}))
|
||||
}
|
||||
/>
|
||||
@ -890,7 +890,7 @@ export const ProjectTracker = () => {
|
||||
onClick={() => {
|
||||
setOpenColumnSelect((prevState) => ({
|
||||
...prevState,
|
||||
[column.id]: true,
|
||||
[column.id]: true
|
||||
}));
|
||||
}}
|
||||
className="more"
|
||||
@ -906,7 +906,7 @@ export const ProjectTracker = () => {
|
||||
onClick={() => {
|
||||
setOpenColumnSelect((prevState) => ({
|
||||
...prevState,
|
||||
[column.id]: false,
|
||||
[column.id]: false
|
||||
}));
|
||||
dispatch(modalToggle("editColumn"));
|
||||
dispatch(setColumnName(column.title));
|
||||
@ -970,7 +970,7 @@ export const ProjectTracker = () => {
|
||||
</div>
|
||||
<p
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: task.description,
|
||||
__html: task.description
|
||||
}}
|
||||
className="tasks__board__item__description"
|
||||
></p>
|
||||
|
@ -15,13 +15,13 @@ const tasks = [
|
||||
{
|
||||
index: 1,
|
||||
text: "Задача «67 – Навигационная система – Главное меню – Обновить иконки» заблокирована из-за отсутствия новых иконок",
|
||||
hours: 3,
|
||||
hours: 3
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
text: "Задача «83 – Навигационная система – Поиск по почтовому индексу – Добавить экран поиска по почтовому индексу» не может быть завершена, т.к. работа над задачей «82 – Навигационная система – Разработать модуль поиска по почтовому индексу» ещё не начата",
|
||||
hours: 3,
|
||||
},
|
||||
hours: 3
|
||||
}
|
||||
];
|
||||
|
||||
const SingleReportPage = () => {
|
||||
|
@ -29,29 +29,29 @@ const Statistics = () => {
|
||||
name: "Дмитрий Рогов",
|
||||
email: "dmitryi.zavadskyi@yandex.ru",
|
||||
role: "Программист",
|
||||
status: true,
|
||||
status: true
|
||||
},
|
||||
{
|
||||
avatar: mockAvatar,
|
||||
name: "Марина Орехова",
|
||||
email: "dmitryi.zavadskyi@yandex.ru",
|
||||
role: "Менеджер",
|
||||
status: true,
|
||||
status: true
|
||||
},
|
||||
{
|
||||
avatar: mockAvatar,
|
||||
name: "Тамара Доценко",
|
||||
email: "dmitryi.zavadskyi@yandex.ru51515188151",
|
||||
role: "Тестировщик",
|
||||
status: false,
|
||||
status: false
|
||||
},
|
||||
{
|
||||
avatar: mockAvatar,
|
||||
name: "Кек Лолов",
|
||||
email: "dm4124gmail.com",
|
||||
role: "PM",
|
||||
status: false,
|
||||
},
|
||||
status: false
|
||||
}
|
||||
];
|
||||
|
||||
const toggleTabs = (index) => {
|
||||
@ -66,7 +66,7 @@ const Statistics = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Трекер", link: "/profile/tracker" },
|
||||
{ name: "Трекер", link: "/profile/tracker" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
||||
|
@ -60,9 +60,9 @@ export const Summary = () => {
|
||||
method: "PUT",
|
||||
data: {
|
||||
UserCard: {
|
||||
skill: selectedSkills.map((item) => item.skill_id),
|
||||
},
|
||||
},
|
||||
skill: selectedSkills.map((item) => item.skill_id)
|
||||
}
|
||||
}
|
||||
}).then(() => {});
|
||||
}
|
||||
|
||||
@ -70,8 +70,8 @@ export const Summary = () => {
|
||||
apiRequest("/resume/edit-text", {
|
||||
method: "PUT",
|
||||
data: {
|
||||
resume: summery,
|
||||
},
|
||||
resume: summery
|
||||
}
|
||||
}).then(() => {});
|
||||
}
|
||||
return (
|
||||
@ -83,7 +83,7 @@ export const Summary = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Резюме", link: "/profile/summary" },
|
||||
{ name: "Резюме", link: "/profile/summary" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="summary__title">
|
||||
@ -175,7 +175,7 @@ export const Summary = () => {
|
||||
onClick={() =>
|
||||
setSelectedSkills((prevValue) => [
|
||||
...prevValue,
|
||||
{ skill: skill, skill_id: skill.id },
|
||||
{ skill: skill, skill_id: skill.id }
|
||||
])
|
||||
}
|
||||
key={skill.id}
|
||||
@ -235,8 +235,8 @@ export const Summary = () => {
|
||||
"ImageToolbar",
|
||||
"ImageUpload",
|
||||
"MediaEmbed",
|
||||
"BlockQuote",
|
||||
],
|
||||
"BlockQuote"
|
||||
]
|
||||
}}
|
||||
onChange={(event, editor) => {
|
||||
const data = editor.getData();
|
||||
|
@ -6,7 +6,7 @@ import {
|
||||
getToggleTab,
|
||||
modalToggle,
|
||||
setAllProjects,
|
||||
setToggleTab,
|
||||
setToggleTab
|
||||
} from "@redux/projectsTrackerSlice";
|
||||
|
||||
import { caseOfNum } from "@utils/helper";
|
||||
@ -134,7 +134,7 @@ export const Tracker = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Трекер", link: "/profile/tracker" },
|
||||
{ name: "Трекер", link: "/profile/tracker" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
||||
|
@ -6,7 +6,7 @@ import { apiRequest } from "@api/request";
|
||||
import {
|
||||
getCorrectDate,
|
||||
getCreatedDate,
|
||||
hourOfNum,
|
||||
hourOfNum
|
||||
} from "@components/Calendar/calendarHelper";
|
||||
import { Footer } from "@components/Common/Footer/Footer";
|
||||
import { Loader } from "@components/Common/Loader/Loader";
|
||||
@ -57,7 +57,7 @@ export const ViewReport = () => {
|
||||
const taskInfo = {
|
||||
hours: task.hours_spent,
|
||||
task: task.task,
|
||||
id: task.id,
|
||||
id: task.id
|
||||
};
|
||||
if (task.hours_spent) {
|
||||
spendTime += Number(task.hours_spent);
|
||||
@ -96,7 +96,7 @@ export const ViewReport = () => {
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile" },
|
||||
{ name: "Ваша отчетность", link: "/profile/calendar" },
|
||||
{ name: "Просмотр отчета за день", link: "/profile/view" },
|
||||
{ name: "Просмотр отчета за день", link: "/profile/view" }
|
||||
]}
|
||||
/>
|
||||
<h2 className="viewReport__title">
|
||||
|
@ -27,7 +27,7 @@ export const PassingTests = () => {
|
||||
autoStart: false,
|
||||
onExpire: () => {
|
||||
navigate("/quiz");
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
const onCloseWindow = (e) => {
|
||||
@ -43,18 +43,18 @@ export const PassingTests = () => {
|
||||
{
|
||||
title: "Зачем?",
|
||||
description:
|
||||
"Тесты itguild предназначены для того, чтобы подтверждать навыки, которые вы указали у себя.",
|
||||
"Тесты itguild предназначены для того, чтобы подтверждать навыки, которые вы указали у себя."
|
||||
},
|
||||
{
|
||||
title: "Почему именно тестирование?",
|
||||
description:
|
||||
"Тесты itguild заменяют первое техническое собеседование по любой вакансии.",
|
||||
"Тесты itguild заменяют первое техническое собеседование по любой вакансии."
|
||||
},
|
||||
{
|
||||
title: "Какие тесты нужно проходить?",
|
||||
description:
|
||||
"Здесь все довольно просто — следует проходить тесты по инструментам и навыкам, которыми вы владеете.",
|
||||
},
|
||||
"Здесь все довольно просто — следует проходить тесты по инструментам и навыкам, которыми вы владеете."
|
||||
}
|
||||
];
|
||||
|
||||
function onSwitchTab(e) {
|
||||
@ -86,7 +86,7 @@ export const PassingTests = () => {
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile-candidate" },
|
||||
{ name: "Тестирование", link: "/quiz" },
|
||||
{ name: "Прохождение тестов", link: "/quiz/test" },
|
||||
{ name: "Прохождение тестов", link: "/quiz/test" }
|
||||
]}
|
||||
/>
|
||||
<div className="passing-tests-page__title main-title">
|
||||
|
@ -36,7 +36,7 @@ export const QuizPage = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: BackEndImg,
|
||||
img: BackEndImg
|
||||
},
|
||||
{
|
||||
title: "Frontend разработчики",
|
||||
@ -44,14 +44,14 @@ export const QuizPage = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: FrontendImg,
|
||||
img: FrontendImg
|
||||
},
|
||||
{
|
||||
title: "Архитектура проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "Потоки данных ER ERP CRM CQRS UML BPMN",
|
||||
available: true,
|
||||
img: ArchitectureImg,
|
||||
img: ArchitectureImg
|
||||
},
|
||||
{
|
||||
title: "Дизайн проектов",
|
||||
@ -59,35 +59,35 @@ export const QuizPage = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: true,
|
||||
img: DesignImg,
|
||||
img: DesignImg
|
||||
},
|
||||
{
|
||||
title: "Тестирование проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "SQL Postman TestRail Kibana Ручное тестирование",
|
||||
available: false,
|
||||
img: TestImg,
|
||||
img: TestImg
|
||||
},
|
||||
{
|
||||
title: "Администрирование проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "DevOps ELK Kubernetes Docker Bash Apache Oracle Git",
|
||||
available: false,
|
||||
img: AdminImg,
|
||||
img: AdminImg
|
||||
},
|
||||
{
|
||||
title: "Управление проектом",
|
||||
link: "/registration-candidate",
|
||||
description: "Scrum Kanban Agile Miro CustDev",
|
||||
available: false,
|
||||
img: ManageImg,
|
||||
img: ManageImg
|
||||
},
|
||||
{
|
||||
title: "Копирайтинг проектов",
|
||||
link: "/registration-candidate",
|
||||
description: "Теги Заголовок H1 Дескриптор Абзац Сценарий",
|
||||
available: false,
|
||||
img: CopyImg,
|
||||
img: CopyImg
|
||||
},
|
||||
{
|
||||
title: "Реклама и SMM",
|
||||
@ -95,8 +95,8 @@ export const QuizPage = () => {
|
||||
description:
|
||||
"Java PHP Python C# React Vue.js NodeJs Golang Ruby JavaScript",
|
||||
available: false,
|
||||
img: SmmImg,
|
||||
},
|
||||
img: SmmImg
|
||||
}
|
||||
]);
|
||||
const userId = localStorage.getItem("id");
|
||||
const [selectedCategory, setSetSelectedCategory] = useState(false);
|
||||
@ -116,7 +116,7 @@ export const QuizPage = () => {
|
||||
<ProfileBreadcrumbs
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile-candidate" },
|
||||
{ name: "Тестирование", link: "/quiz" },
|
||||
{ name: "Тестирование", link: "/quiz" }
|
||||
]}
|
||||
/>
|
||||
<div className="quiz-page__title main-title">
|
||||
|
@ -43,7 +43,7 @@ export const QuizReportPage = () => {
|
||||
links={[
|
||||
{ name: "Главная", link: "/profile-candidate" },
|
||||
{ name: "Тестирование", link: "/quiz" },
|
||||
{ name: "Отчет по тестированию", link: "/quiz/report" },
|
||||
{ name: "Отчет по тестированию", link: "/quiz/report" }
|
||||
]}
|
||||
/>
|
||||
<div className="quiz-report-page__title main-title">
|
||||
|
Reference in New Issue
Block a user