Compare commits

..

No commits in common. "3013dd1bd25c542712499ca6ef97fda41fb6e84e" and "f180586eb36529b6ba080b236e305f5e6e794793" have entirely different histories.

16 changed files with 928 additions and 155 deletions

904
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -982,7 +982,7 @@
position: relative;
row-gap: 10px;
padding: 10px 20px 0px 20px;
padding: 10px 40px 0px 20px;
border-radius: 10px;
margin-bottom: 10px;
@ -1113,7 +1113,7 @@
&-priority {
position: relative;
padding: 10px 20px 0 20px;
padding: 10px 40px 0 20px;
border-radius: 10px;
margin-bottom: 10px;
.priority {
@ -1173,7 +1173,7 @@
}
&-bottom {
padding: 0px 30px 10px 20px;
padding: 0px 90px 10px 35px;
font-weight: 400;
font-size: 14px;
line-height: 32px;

View File

@ -286,15 +286,15 @@ export const ProfileCalendarComponent = React.memo(
? `${getCorrectDate(startDate)} - ${getCorrectDate(endDate)}`
: `${getCorrectDate(endDate)} - ${getCorrectDate(startDate)}`
: activePeriod
? "Выберите диапазон на календаре"
: "Выбрать диапазон"}
? "Выберите диапазон на календаре"
: "Выбрать диапазон"}
</span>
<span>
{totalRangeHours
? `${totalRangeHours} ${hourOfNum(totalRangeHours)}`
: endDate
? "0 часов"
: ""}
? "0 часов"
: ""}
</span>
{endDate && (
<BaseButton

View File

@ -143,6 +143,9 @@ export const ProfileHeader = () => {
</div>
<div className={active ? "auth-body active" : "auth-body"}>
{/* <div className="auth-body__title">
<img src={ITguild}></img>
</div> */}
<nav className="auth-body__navigation">
<div className="profile-header__personal-info">
<h3 className="profile-header__personal-info-name">

View File

@ -99,7 +99,7 @@ export const useFormValidation = (
setLoader(false);
if ("errors" in data) {
return showNotificationError(
"Аккаунт с таким логином или email уже существует"
"Аккаунт с таким логином или email уже существуе"
);
}
if (!data.id) {

View File

@ -1,6 +1,6 @@
import React from "react";
import { useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { Link, Navigate } from "react-router-dom";
import { getPartnerEmployees } from "@redux/outstaffingSlice";
@ -16,7 +16,12 @@ import "./partnerEmployees.scss";
export const PartnerEmployees = () => {
const partnerEmployees = useSelector(getPartnerEmployees);
// if (
// localStorage.getItem("role_status") !== "18" ||
// !partnerEmployees.length
// ) {
// return <Navigate to="/profile/categories" replace />;
// }
return (
<div className="partner-employees">
<ProfileHeader />

View File

@ -265,7 +265,7 @@
height: 46px;
font-weight: 400;
font-size: 15px;
line-height: 20px;
line-height: 32px;
transition: 0.3s all ease;
a {
@ -280,7 +280,7 @@
color: white;
font-weight: 700;
font-size: 20px;
margin-left: 8px;
margin-right: 8px;
}
&:hover {

View File

@ -139,6 +139,7 @@
&__body {
display: flex;
flex-direction: row;
justify-content: space-around;
margin-top: 50px;
}

View File

@ -11,7 +11,7 @@ import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
// import paymentIcon from "assets/icons/paymentIcon.png";
import paymentIcon from "assets/icons/paymentIcon.png";
import settingIcon from "assets/icons/settingIcon.png";
import summaryIcon from "assets/icons/summaryIcon.png";
import timerIcon from "assets/icons/timerIcon.png";
@ -64,7 +64,7 @@ export const Profile = () => {
img: reportsIcon,
title: "Мои вакансии",
description:
"<span>Ваши открытые вакансии, которыми вы можете управлять"
"<span>У вас 2 вакансии<br/></span>открытые от лица компании"
},
{
path: "profile/employees",
@ -100,10 +100,17 @@ export const Profile = () => {
<div className="container">
<ProfileBreadcrumbs links={[{ name: "Главная", link: "/profile" }]} />
<h2 className="profile__title">
<span>
<p>Добрый день,&nbsp;</p>
{profileInfo?.fio || profileInfo?.username}
</span>
{user === "developer" ? (
<span>
<p>Добрый день,&nbsp;</p>
{profileInfo?.fio || profileInfo?.username}
</span>
) : (
<span>
<p>Добрый день,&nbsp;</p>
{profileInfo?.fio || profileInfo?.username}
</span>
)}
</h2>
<div className="summary__info">
<div className="summary__person">
@ -115,11 +122,14 @@ export const Profile = () => {
alt="avatar"
/>
<p className="summary__name">
<span>
{profileInfo?.fio || profileInfo?.username},
{user === "developer" &&
` ${profileInfo?.specification} разработчик`}
</span>
{user === "developer" ? (
<span>
{profileInfo?.fio || profileInfo?.username},{" "}
{profileInfo?.specification} разработчик
</span>
) : (
<span>{profileInfo?.fio || profileInfo?.username}</span>
)}
</p>
</div>
</div>

View File

@ -11,6 +11,7 @@ import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
// import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import { AlertResult } from "@components/features/quiz/AlertResult";
import { QuizReport } from "@components/features/quiz/QuizReport";
@ -40,6 +41,7 @@ export const QuizReportPage = () => {
<div className="quiz-report-page">
<ProfileHeader />
<Navigation />
{/*<HeadBottom />*/}
<div className="quiz-report-page__container">
<ProfileBreadcrumbs
links={[

View File

@ -81,6 +81,7 @@ export const RegistrationForCandidate = () => {
<img src={arrowBtn} alt="img" />
</Link>
</div>
{/* форма регистрации */}
<form
className="registration-candidate__form"
onSubmit={handleSubmit}

View File

@ -211,6 +211,8 @@ const Statistics = () => {
<p className="person-type">
{person.role ? person.role : "-"}
</p>
{/* <span className="status status-active"> */}
<span
className={
person.status

View File

@ -0,0 +1,47 @@
import React, { useState } from "react";
import AuthBlock from "@components/AuthBlock/AuthBlock";
import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import { ModalReset } from "@components/Modal/ModalReset/ModalReset";
import ModalResetPassword from "@components/Modal/ModalResetPassword/ModalResetPassword";
import SideBar from "@components/SideBar/SideBar";
import arrowInfo from "assets/icons/trackerIntroInfo.svg";
import trackerAuthImg from "assets/images/trackerAuthImg.png";
import "./trackerAuth.scss";
export const TrackerAuth = () => {
const [modalResetOpen, setModalReset] = useState(false);
return (
<div className="tracker-auth">
<AuthHeader />
<SideBar />
<div className="tracker-auth__content">
<div className="container">
<h1 className="tracker-auth__title">
Войдите в свое{" "}
<span>
рабочее пространство
<img src={arrowInfo} alt="arrow" />
</span>
</h1>
<AuthBlock
description="Создавайте и редактируйте задачи и проекты вместе с другими участниками команды."
img={trackerAuthImg}
resetModal={setModalReset}
/>
</div>
<ModalResetPassword active={modalResetOpen} setActive={setModalReset} />
{/*{modalResetOpen && (*/}
{/* <ModalLayout active={modalResetOpen} setActive={setModalReset}>*/}
{/* <ModalReset setModalReset={setModalReset} />*/}
{/* </ModalLayout>*/}
{/*)}*/}
</div>
<Footer />
</div>
);
};

View File

@ -0,0 +1,58 @@
.tracker-auth {
display: flex;
flex-direction: column;
min-height: 100vh;
background-color: #f1f1f1;
&__content {
display: flex;
flex-direction: column;
flex: 1;
color: #000000;
padding: 50px 0 0;
@media (max-width: 1375px) {
padding-top: 100px;
}
@media (max-width: 1000px) {
background-color: white;
}
.container {
padding-bottom: 30px;
}
}
&__title {
font-size: 30px;
font-weight: 500;
margin-bottom: 46px;
color: #000000;
span {
color: #52b709;
position: relative;
img {
position: absolute;
bottom: -15px;
right: 10px;
max-width: 300px;
@media (max-width: 600px) {
max-width: 257px;
right: 0;
}
@media (max-width: 483px) {
max-width: 160px;
left: -175px;
}
}
}
@media (max-width: 600px) {
font-size: 24px;
margin-bottom: 25px;
}
}
}

View File

@ -36,7 +36,7 @@ export const TrackerIntro = () => {
компании в одном месте: проекты, задачи, цели, сотрудники,
документы, переписки, отчеты
</p>
<NavLink to="/auth" className="tracker-intro__btn">
<NavLink to="/tracker-auth" className="tracker-intro__btn">
Начать работу
</NavLink>
</div>

View File

@ -14,6 +14,7 @@ import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate";
import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting";
import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage";
import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro";
import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration";
@ -25,6 +26,7 @@ export const GuestPage = () => {
<Route exact path="/auth" element={<Auth />} />
<Route path="*" element={<Navigate to="/auth" replace />} />
<Route exact path="/tracker-intro" element={<TrackerIntro />} />
<Route exact path="/tracker-auth" element={<TrackerAuth />} />
<Route exact path="/forms" element={<Forms />} />
<Route
exact