Compare commits

...

4 Commits

Author SHA1 Message Date
Victor Batischev
4603e2dc8b format 2024-03-06 14:08:41 +03:00
Victor Batischev
23e8c5c683 add empty forms page 2024-03-06 14:08:06 +03:00
Victor Batischev
46c91cfbff remove archive 2024-03-06 12:34:12 +03:00
Victor Batischev
4d148cc57d hide payouts 2024-03-06 12:29:13 +03:00
44 changed files with 131 additions and 255 deletions

View File

@ -24,6 +24,7 @@ import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings";
import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties";
import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories"; import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories";
import { Payouts } from "@pages/Payouts/Payouts"; import { Payouts } from "@pages/Payouts/Payouts";
import { Forms } from "@pages/Forms/Forms";
import { Profile } from "@pages/Profile/Profile"; import { Profile } from "@pages/Profile/Profile";
import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate"; import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker";
@ -39,23 +40,23 @@ import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"; import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro";
import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration"; import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration";
import { ViewReport } from "@pages/ViewReport/ViewReport"; import { ViewReport } from "@pages/ViewReport/ViewReport";
import { Article } from "@pages/Article/Article";
import { Auth } from "@pages/Auth/Auth";
import { Blog } from "@pages/Blog/Blog";
import { FormPage } from "@pages/FormPage/FormPage";
import { Home } from "@pages/Home/Home";
import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage";
import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen";
import Notification from "@components/Notification/Notification"; import { Notification } from "@components/Notification/Notification";
import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar"; import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar";
import { Calendar } from "@components/Calendar/Calendar";
import { Candidate } from "@components/Candidate/Candidate";
import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers";
import { ReportForm } from "@components/ReportForm/ReportForm";
import "./assets/fonts/stylesheet.css"; import "assets/fonts/stylesheet.css";
import "./assets/global.scss"; import "assets/global.scss";
import Calendar from "./components/Calendar/Calendar";
import Candidate from "./components/Candidate/Candidate";
import FreeDevelopers from "./components/FreeDevelopers/FreeDevelopers";
import ReportForm from "./components/ReportForm/ReportForm";
import Article from "./pages/Article/Article";
import Auth from "./pages/Auth/Auth";
import Blog from "./pages/Blog/Blog";
import FormPage from "./pages/FormPage/FormPage";
import Home from "./pages/Home/Home";
import SingleReportPage from "./pages/SingleReportPage/SingleReportPage";
const App = () => { const App = () => {
const notification = useSelector(getNotification); const notification = useSelector(getNotification);
@ -66,6 +67,7 @@ const App = () => {
<Route exact path="/auth" element={<Auth />} /> <Route exact path="/auth" element={<Auth />} />
<Route exact path="/tracker-intro" element={<TrackerIntro />} /> <Route exact path="/tracker-intro" element={<TrackerIntro />} />
<Route exact path="/tracker-auth" element={<TrackerAuth />} /> <Route exact path="/tracker-auth" element={<TrackerAuth />} />
<Route exact path="/forms" element={<Forms />} />
<Route <Route
exact exact
path="/tracker-registration" path="/tracker-registration"

View File

@ -15,7 +15,7 @@ import { currentMonth } from "../../utils/calendarHelper";
import CalendarComponent from "./CalendarComponent"; import CalendarComponent from "./CalendarComponent";
import "./calendar.scss"; import "./calendar.scss";
const Calendar = () => { export const Calendar = () => {
if (localStorage.getItem("role_status") !== "18") { if (localStorage.getItem("role_status") !== "18") {
return <Navigate to="/profile" replace />; return <Navigate to="/profile" replace />;
} }
@ -84,5 +84,3 @@ const Calendar = () => {
</div> </div>
); );
}; };
export default Calendar;

View File

@ -28,7 +28,7 @@ import rectangle from "assets/images/rectangle_secondPage.png";
import "./candidate.scss"; import "./candidate.scss";
const Candidate = () => { export const Candidate = () => {
if (localStorage.getItem("role_status") !== "18") { if (localStorage.getItem("role_status") !== "18") {
return <Navigate to="/profile" replace />; return <Navigate to="/profile" replace />;
} }
@ -238,5 +238,3 @@ const Candidate = () => {
</div> </div>
); );
}; };
export default Candidate;

View File

@ -51,5 +51,3 @@ export const AuthHeader = () => {
</div> </div>
); );
}; };
export default AuthHeader;

View File

@ -3,7 +3,7 @@ import { Link } from "react-router-dom";
import { scrollToForm } from "@utils/helper"; import { scrollToForm } from "@utils/helper";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import BaseButton from "@components/Common/BaseButton/BaseButton"; import BaseButton from "@components/Common/BaseButton/BaseButton";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";

View File

@ -15,6 +15,7 @@ import {
caseOfNum, caseOfNum,
getCorrectRequestDate, getCorrectRequestDate,
getToken, getToken,
removeLast,
urlForLocal urlForLocal
} from "@utils/helper"; } from "@utils/helper";
@ -630,14 +631,6 @@ export const TicketFullScreen = () => {
<img src={tasks} alt="img" /> <img src={tasks} alt="img" />
<p>Все мои задачи</p> <p>Все мои задачи</p>
</Link> </Link>
<Link
to="/profile/tracker"
className="tab"
onClick={() => toggleTabs(3)}
>
<img src={archive} alt="img" />
<p>Архив</p>
</Link>
</div> </div>
{loader ? ( {loader ? (
<Loader /> <Loader />
@ -812,14 +805,14 @@ export const TicketFullScreen = () => {
<div className="workers fullscreen-workers"> <div className="workers fullscreen-workers">
<div className="workers_box task__info"> <div className="workers_box task__info">
<div className="workers__creator"> <div className="workers__creator">
Создатель: <p>{taskInfo.user?.fio}</p> Создатель: <p>{removeLast(taskInfo.user?.fio)}</p>
</div> </div>
{taskInfo.executor ? ( {taskInfo.executor ? (
<> <>
<h5>Исполнитель: </h5> <h5>Исполнитель: </h5>
<div className="executor"> <div className="executor">
<p>{taskInfo.executor.fio}</p> <p>{removeLast(taskInfo.executor.fio)}</p>
<img <img
src={ src={
taskInfo.executor?.avatar taskInfo.executor?.avatar
@ -858,7 +851,7 @@ export const TicketFullScreen = () => {
key={person.user_id} key={person.user_id}
onClick={() => taskExecutor(person)} onClick={() => taskExecutor(person)}
> >
<span>{person.user.fio}</span> <span>{removeLast(person.user.fio)}</span>
<img <img
src={ src={
person.user?.avatar person.user?.avatar
@ -881,7 +874,7 @@ export const TicketFullScreen = () => {
{taskInfo.taskUsers.map((member) => { {taskInfo.taskUsers.map((member) => {
return ( return (
<div className="worker" key={member.user_id}> <div className="worker" key={member.user_id}>
<p>{member.fio}</p> <p>{removeLast(member.fio)}</p>
<img <img
src={ src={
member?.avatar member?.avatar
@ -924,7 +917,7 @@ export const TicketFullScreen = () => {
key={person.user_id} key={person.user_id}
onClick={() => addMember(person)} onClick={() => addMember(person)}
> >
<span>{person.user.fio}</span> <span>{removeLast(person.user.fio)}</span>
<img <img
src={ src={
person.user?.avatar person.user?.avatar

View File

@ -713,7 +713,7 @@ export const TrackerModal = ({
src={urlForLocal(selectedExecutorTask.user.avatar)} src={urlForLocal(selectedExecutorTask.user.avatar)}
alt="avatar" alt="avatar"
/> />
<span>{selectedExecutorTask.user.fio}</span> <span>{removeLast(selectedExecutorTask.user.fio)}</span>
</> </>
) : ( ) : (
<span>{selectedExecutorTask}</span> <span>{selectedExecutorTask}</span>

View File

@ -29,10 +29,10 @@ export const Navigation = () => {
path: "/tracker", path: "/tracker",
name: "Трекер" name: "Трекер"
}, },
{ // {
path: "/payouts", // path: "/payouts",
name: "Выплаты" // name: "Выплаты"
}, // },
{ {
path: "/quiz", path: "/quiz",
name: "Тесты" name: "Тесты"
@ -61,10 +61,10 @@ export const Navigation = () => {
path: "/tracker", path: "/tracker",
name: "Трекер" name: "Трекер"
}, },
{ // {
path: "/treaties", // path: "/treaties",
name: "Договоры" // name: "Договоры"
}, // },
{ {
path: "/settings", path: "/settings",
name: "Настройки" name: "Настройки"
@ -81,7 +81,7 @@ export const Navigation = () => {
<NavLink <NavLink
key={index} key={index}
end end
to={link.path === "/Quiz" ? link.path : `/profile${link.path}`} to={link.path === "/quiz" ? link.path : `/profile${link.path}`}
className={ className={
currentPath.includes(link.path) || currentPath.includes(link.path) ||
currentPath.includes(link.active) currentPath.includes(link.active)

View File

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

View File

@ -39,10 +39,10 @@ export const ProfileHeader = () => {
path: "/tracker", path: "/tracker",
name: "Трекер" name: "Трекер"
}, },
{ // {
path: "/payouts", // path: "/payouts",
name: "Выплаты" // name: "Выплаты"
}, // },
{ {
path: "/quiz", path: "/quiz",
name: "Тесты" name: "Тесты"
@ -69,10 +69,10 @@ export const ProfileHeader = () => {
path: "/tracker", path: "/tracker",
name: "Трекер" name: "Трекер"
}, },
{ // {
path: "/treaties", // path: "/treaties",
name: "Договоры" // name: "Договоры"
}, // },
{ {
path: "/settings", path: "/settings",
name: "Настройки" name: "Настройки"
@ -170,7 +170,7 @@ export const ProfileHeader = () => {
<NavLink <NavLink
key={index} key={index}
end end
to={link.path === "/Quiz" ? link.path : `/profile${link.path}`} to={link.path === "/quiz" ? link.path : `/profile${link.path}`}
className={currentPath.includes(link.path) ? "active" : ""} className={currentPath.includes(link.path) ? "active" : ""}
> >
{link.name} {link.name}

View File

@ -32,7 +32,7 @@ import "./reportForm.scss";
registerLocale("ru", ru); registerLocale("ru", ru);
const ReportForm = () => { export const ReportForm = () => {
if (localStorage.getItem("role_status") === "18") { if (localStorage.getItem("role_status") === "18") {
return <Navigate to="/profile" replace />; return <Navigate to="/profile" replace />;
} }
@ -456,5 +456,3 @@ const ReportForm = () => {
</section> </section>
); );
}; };
export default ReportForm;

View File

@ -47,23 +47,23 @@ export const SideBar = () => {
</div> </div>
<ul className="auth-body__navigation"> <ul className="auth-body__navigation">
<li> <li>
<Link to={"/auth"}>Вход для партнеров</Link> <Link to={"/auth"}>Вход</Link>
</li> </li>
<li> <li>
<Link to={"/profile"}>Кабинет разработчика</Link> <Link to={"/profile"}>Личный кабинет</Link>
</li> </li>
<li> <li>
<Link to={"/tracker-intro"}>Трекер</Link> <Link to={"/tracker-intro"}>Трекер</Link>
</li> </li>
<li> <li>
<Link to={"/Quiz"}>Тесты</Link> <Link to={"/quiz"}>Тесты</Link>
</li>
<li>
<Link to={"/forms"}>Формы</Link>
</li> </li>
<li> <li>
<a href="#">Школа</a> <a href="#">Школа</a>
</li> </li>
<li>
<a href="#">Отрасли</a>
</li>
<li> <li>
<a href="#">Контакты</a> <a href="#">Контакты</a>
</li> </li>

View File

@ -3,7 +3,7 @@ import { CKEditor } from "@ckeditor/ckeditor5-react";
import React, { useState } from "react"; import React, { useState } from "react";
import { getCorrectDate } from "@utils/calendarHelper"; import { getCorrectDate } from "@utils/calendarHelper";
import { urlForLocal } from "@utils/helper"; import { removeLast, urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request"; import { apiRequest } from "@api/request";
@ -93,7 +93,7 @@ export const TrackerTaskComment = ({
} }
alt="avatar" alt="avatar"
/> />
<p>{comment.user.fio}</p> <p>{removeLast(comment.user.fio)}</p>
</div> </div>
<div className="comments__list__item__date"> <div className="comments__list__item__date">
<span>{getCorrectDate(comment.created_at)}</span> <span>{getCorrectDate(comment.created_at)}</span>

View File

@ -32,7 +32,7 @@ export const HeaderPageTestsQuiz = ({ isVisibilityButton }) => {
</div> </div>
{isVisibilityButton && ( {isVisibilityButton && (
<Link <Link
to={"/Quiz/instruction"} to={"/quiz/instruction"}
className="quiz-btn quiz-btn_restriction" className="quiz-btn quiz-btn_restriction"
> >
Пройти Пройти

View File

@ -44,7 +44,7 @@ export const MyTestsQuiz = ({ listTests }) => {
</h3> </h3>
<div className="item-test__body test-data"> <div className="item-test__body test-data">
<Link <Link
to={"/Quiz/interjacent"} to={"/quiz/interjacent"}
className="quiz-btn" className="quiz-btn"
onClick={() => recordSelectedTest(item)} onClick={() => recordSelectedTest(item)}
> >

View File

@ -58,7 +58,7 @@ export const TaskQuiz = ({ timer }) => {
text: "Тест успешно пройден", text: "Тест успешно пройден",
type: "success" type: "success"
}); });
navigate("/Quiz"); navigate("/quiz");
// if (String(res?.status)[0] !== "2") { // if (String(res?.status)[0] !== "2") {
// showNotification({ // showNotification({
// show: true, // show: true,

View File

@ -2,7 +2,7 @@ import React, { useState } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import CardArticle from "@components/CardArticle/CardArticle"; import CardArticle from "@components/CardArticle/CardArticle";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -5,10 +5,9 @@ import { useNavigate } from "react-router-dom";
import { selectAuth } from "@redux/outstaffingSlice"; import { selectAuth } from "@redux/outstaffingSlice";
import { AuthBox } from "@components/AuthBox/AuthBox"; import { AuthBox } from "@components/AuthBox/AuthBox";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
import arrow from "assets/icons/arrows/arrow__login_page.png"; import arrow from "assets/icons/arrows/arrow__login_page.png";
import text from "assets/images/Body_Text.png"; import text from "assets/images/Body_Text.png";
@ -19,7 +18,7 @@ import cross from "assets/images/cross.png";
import "./auth.scss"; import "./auth.scss";
const Auth = () => { export const Auth = () => {
const isAuth = useSelector(selectAuth); const isAuth = useSelector(selectAuth);
let navigate = useNavigate(); let navigate = useNavigate();
@ -34,11 +33,6 @@ const Auth = () => {
return ( return (
<section className="auth-partners"> <section className="auth-partners">
<AuthHeader /> <AuthHeader />
<SliderWorkers
title={"Свободные разработчики"}
titleInfo={"для Вашей команды"}
subTitle={true}
/>
<div className="auth-partners__background"> <div className="auth-partners__background">
<img className="auth-partners__vector" src={vector} alt="" /> <img className="auth-partners__vector" src={vector} alt="" />
<img className="auth-partners__vector-black" src={vectorBlack} alt="" /> <img className="auth-partners__vector-black" src={vectorBlack} alt="" />
@ -98,5 +92,3 @@ const Auth = () => {
</section> </section>
); );
}; };
export default Auth;

View File

@ -6,7 +6,7 @@ import { selectAuth } from "@redux/outstaffingSlice";
import AuthBlock from "@components/AuthBlock/AuthBlock"; import AuthBlock from "@components/AuthBlock/AuthBlock";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem"; import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import ModalResetPassword from "@components/Modal/ModalResetPassword/ModalResetPassword"; import ModalResetPassword from "@components/Modal/ModalResetPassword/ModalResetPassword";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -1,7 +1,7 @@
import React, { useState } from "react"; import React, { useState } from "react";
import CardArticle from "@components/CardArticle/CardArticle"; import CardArticle from "@components/CardArticle/CardArticle";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -2,7 +2,7 @@ import React, { useState } from "react";
import CatalogPersonCard from "@components/CatalogPersonCard/CatalogPersonCard"; import CatalogPersonCard from "@components/CatalogPersonCard/CatalogPersonCard";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem"; import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -23,7 +23,7 @@ import rectangle from "assets/images/rectangle_secondPage.png";
import "./formPage.scss"; import "./formPage.scss";
const FormPage = () => { export const FormPage = () => {
if (localStorage.getItem("role_status") !== "18") { if (localStorage.getItem("role_status") !== "18") {
return <Navigate to="/profile" replace />; return <Navigate to="/profile" replace />;
} }
@ -101,5 +101,3 @@ const FormPage = () => {
</div> </div>
); );
}; };
export default FormPage;

21
src/pages/Forms/Forms.jsx Normal file
View File

@ -0,0 +1,21 @@
import React from "react";
import { Footer } from "@components/Common/Footer/Footer";
import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import SideBar from "@components/SideBar/SideBar";
import "./forms.scss";
export const Forms = () => {
return (
<div className="forms">
<AuthHeader />
<SideBar />
<div className="container">
<br />
<h1>Здесь будут формы</h1>
</div>
<Footer />
</div>
);
};

View File

@ -0,0 +1,13 @@
.forms {
display: flex;
flex-direction: column;
min-height: 100vh;
background: #f1f1f1;
.container {
max-width: 1160px;
display: flex;
flex-direction: column;
flex: 1;
}
}

View File

@ -1,7 +1,7 @@
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useNavigate, useParams } from "react-router"; import { useNavigate, useParams } from "react-router";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import { FrequentlyAskedQuestionsItem } from "@components/FrequentlyAskedQuestionsItem/FrequentlyAskedQuestionsItem"; import { FrequentlyAskedQuestionsItem } from "@components/FrequentlyAskedQuestionsItem/FrequentlyAskedQuestionsItem";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";

View File

@ -13,7 +13,7 @@ import Outstaffing from "@components/Outstaffing/Outstaffing";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
const Home = () => { export const Home = () => {
if (localStorage.getItem("role_status") !== "18") { if (localStorage.getItem("role_status") !== "18") {
return <Navigate to="/profile" replace />; return <Navigate to="/profile" replace />;
} }
@ -75,5 +75,3 @@ const Home = () => {
</> </>
); );
}; };
export default Home;

View File

@ -15,7 +15,6 @@ import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation"; import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { SliderWorkers } from "@components/SliderWorkers/SliderWorkers";
import cursorImg from "assets/icons/cursorImg.svg"; import cursorImg from "assets/icons/cursorImg.svg";
@ -114,16 +113,6 @@ export const PartnerRequests = () => {
</p> </p>
</div> </div>
</div> </div>
<div className="partner-requests__no-items__free-employees">
<SliderWorkers
title={"Свободные разработчики"}
titleInfo={"в нашей базе"}
/>
<p className="catalog-link">
Перейти в полный <Link to={"/profile/catalog"}>КАТАЛОГ</Link>{" "}
сотрудников
</p>
</div>
</div> </div>
)} )}
</div> </div>

View File

@ -183,7 +183,7 @@ export const PartnerSettings = () => {
использования персональных данных использования персональных данных
</span> </span>
</div> </div>
<div className="partner-settings__report"> {/* <div className="partner-settings__report">
<h3 className="settings__title">Документы и отчеты</h3> <h3 className="settings__title">Документы и отчеты</h3>
<p className="settings__label">Изменить провадера ЭДО</p> <p className="settings__label">Изменить провадера ЭДО</p>
@ -221,7 +221,7 @@ export const PartnerSettings = () => {
Нажимая "Сохранить", вы соглашаетесь с Правилами обработки и Нажимая "Сохранить", вы соглашаетесь с Правилами обработки и
использования персональных данных использования персональных данных
</span> </span>
</div> </div> */}
</div> </div>
</div> </div>
</div> </div>

View File

@ -45,12 +45,12 @@ export const Profile = () => {
title: "Трекер времени", title: "Трекер времени",
description: "Сколько времени занимает<br/> выполнение задач" description: "Сколько времени занимает<br/> выполнение задач"
}, },
{ // {
path: "profile/payouts", // path: "profile/payouts",
img: paymentIcon, // img: paymentIcon,
title: "Выплаты", // title: "Выплаты",
description: "У вас <span>подтвержден</span><br/> статус самозанятого" // description: "У вас <span>подтвержден</span><br/> статус самозанятого"
}, // },
{ {
path: "profile/settings", path: "profile/settings",
img: settingIcon, img: settingIcon,
@ -78,12 +78,12 @@ export const Profile = () => {
title: "Трекер времени", title: "Трекер времени",
description: "Контроль времени и<br/> выполнение задач" description: "Контроль времени и<br/> выполнение задач"
}, },
{ // {
path: "profile/treaties", // path: "profile/treaties",
img: paymentIcon, // img: paymentIcon,
title: "Договоры и отчетность", // title: "Договоры и отчетность",
description: "Ключевые условия<br/> договора" // description: "Ключевые условия<br/> договора"
}, // },
{ {
path: "profile/settings", path: "profile/settings",
img: settingIcon, img: settingIcon,

View File

@ -457,14 +457,6 @@ export const ProjectTracker = () => {
<img src={tasks} alt="img" /> <img src={tasks} alt="img" />
<p>Все мои задачи</p> <p>Все мои задачи</p>
</Link> </Link>
<Link
to="/profile/tracker"
className="tab"
onClick={() => dispatch(setToggleTab(3))}
>
<img src={archive} alt="img" />
<p>Архив</p>
</Link>
</div> </div>
<div className="tracker__tabs__content"> <div className="tracker__tabs__content">
<TrackerModal <TrackerModal
@ -568,7 +560,7 @@ export const ProjectTracker = () => {
</div> </div>
{selectedExecutor ? ( {selectedExecutor ? (
<div className="tasks__head__executor-selected"> <div className="tasks__head__executor-selected">
<p>{selectedExecutor.user.fio}</p> <p>{removeLast(selectedExecutor.user.fio)}</p>
<img <img
className="avatar" className="avatar"
src={ src={

View File

@ -25,7 +25,7 @@ export const PassingTests = () => {
expiryTimestamp: moment(), expiryTimestamp: moment(),
autoStart: false, autoStart: false,
onExpire: () => { onExpire: () => {
navigate("/Quiz"); navigate("/quiz");
} }
}); });
@ -84,8 +84,8 @@ export const PassingTests = () => {
<ProfileBreadcrumbs <ProfileBreadcrumbs
links={[ links={[
{ name: "Главная", link: "/profile-candidate" }, { name: "Главная", link: "/profile-candidate" },
{ name: "Тестирование", link: "/Quiz" }, { name: "Тестирование", link: "quiz" },
{ name: "Прохождение тестов", link: "/Quiz/test" } { name: "Прохождение тестов", link: "/quiz/test" }
]} ]}
/> />
<div className="passing-tests-page__title main-title"> <div className="passing-tests-page__title main-title">

View File

@ -122,7 +122,7 @@ export const QuizPage = () => {
<ProfileBreadcrumbs <ProfileBreadcrumbs
links={[ links={[
{ name: "Главная", link: "/profile-candidate" }, { name: "Главная", link: "/profile-candidate" },
{ name: "Тестирование", link: "/Quiz" } { name: "Тестирование", link: "/quiz" }
]} ]}
/> />
<div className="quiz-page__title main-title"> <div className="quiz-page__title main-title">

View File

@ -21,7 +21,7 @@ export const QuizReportPage = () => {
let navigate = useNavigate(); let navigate = useNavigate();
if (!test) { if (!test) {
navigate("/Quiz"); navigate("/quiz");
} }
const [testInfo, setTestInfo] = useState({}); const [testInfo, setTestInfo] = useState({});

View File

@ -4,7 +4,7 @@ import { Link } from "react-router-dom";
import { useFormValidation } from "@hooks/useFormValidation"; import { useFormValidation } from "@hooks/useFormValidation";
import { useNotification } from "@hooks/useNotification"; import { useNotification } from "@hooks/useNotification";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";
import StepsForCandidate from "@components/StepsForCandidate/StepsForCandidate"; import StepsForCandidate from "@components/StepsForCandidate/StepsForCandidate";

View File

@ -1,6 +1,6 @@
import React, { useState } from "react"; import React, { useState } from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -24,7 +24,7 @@ const tasks = [
} }
]; ];
const SingleReportPage = () => { export const SingleReportPage = () => {
const navigate = useNavigate(); const navigate = useNavigate();
return ( return (
@ -108,5 +108,3 @@ const SingleReportPage = () => {
</div> </div>
); );
}; };
export default SingleReportPage;

View File

@ -112,14 +112,6 @@ const Statistics = () => {
<img src={tasks} alt="img" /> <img src={tasks} alt="img" />
<p>Все мои задачи</p> <p>Все мои задачи</p>
</Link> </Link>
<Link
to="/profile/tracker"
className="tab"
onClick={() => toggleTabs(3)}
>
<img src={archive} alt="img" />
<p>Архив</p>
</Link>
</div> </div>
<div className="tracker__tabs__content"> <div className="tracker__tabs__content">
<div className="tracker__tabs__content__wrapper statistics-body"> <div className="tracker__tabs__content__wrapper statistics-body">
@ -153,7 +145,7 @@ const Statistics = () => {
<div className="project-info__creator"> <div className="project-info__creator">
<span className="return-text">Создатель проекта:</span> <span className="return-text">Создатель проекта:</span>
<div> <div>
<p>{projectInfo?.owner_info?.fio}</p>{" "} <p>{projectInfo?.owner_info?.fio}</p>
<img <img
src={ src={
projectInfo?.owner_info?.avatar projectInfo?.owner_info?.avatar

View File

@ -161,13 +161,6 @@ export const Tracker = () => {
<img src={tasks} alt="img" /> <img src={tasks} alt="img" />
<p>Все мои задачи</p> <p>Все мои задачи</p>
</div> </div>
<div
className={tab === 3 ? "tab active-tab" : "tab"}
onClick={() => toggleTabs(3)}
>
<img src={archive} alt="img" />
<p>Архив</p>
</div>
</div> </div>
<div className={`tracker__tabs__content`}> <div className={`tracker__tabs__content`}>
<div <div
@ -326,103 +319,6 @@ export const Tracker = () => {
</p> </p>
</div> </div>
</div> </div>
<div
className={
tab === 3
? "tracker__tabs__content__archive active__content"
: "tracker__tabs__content__projects"
}
>
<div className="archive__tasks">
<div className="archive__title">
<h3>Архив задач:</h3>
<p>
{`${filterCompleteTasks.length}
${caseOfNum(filterCompleteTasks.length, "tasks")}`}
</p>
<div className="archive__tasks-period">
<div className="buttons-month">
<button>
<img src={arrowViewReport} alt="<"></img>
</button>
<button>
<img src={arrowViewReport} alt=">"></img>
</button>
</div>
<div className="month-period">
<h2>Сентябрь,</h2>
<h3>2023</h3>
</div>
</div>
<div className="archive__tasks__search">
<img src={search} alt="search" />
<input
type="text"
placeholder="Найти задачу"
onChange={(event) => filterArchiveTasks(event)}
/>
</div>
</div>
{loader && <Loader style="green" />}
<ArchiveTableTracker
loader={loader}
filterCompleteTasks={filterCompleteTasks}
/>
</div>
<div className="archive__projects">
<div className="archive__projects-title">
<h3>Архив проектов:</h3>
<p>
{`${
projects?.filter((project) => project.status === 10).length
}
${caseOfNum(
projects?.filter((project) => project.status === 10)
.length,
"projects"
)}`}
</p>
</div>
<div className="archive__tasks-wrapper">
{Boolean(
projects?.filter((project) => project.status === 10).length
) ? (
projects?.map((project, index) => {
return project.status === 10 ? (
<div
className="archive__complete-task-project"
key={index}
>
<div className="archive__complete-task__description">
<p className="project-title-archive">
{project.name}
</p>
<p className="date">{project.date}</p>
</div>
<div className="archive__complete-task__creator">
<img src={mockAvatar} alt="#" />
<div className="creator-title">
<h4>Создатель проекта:</h4>
<p>{"Василий Тарасов"}</p>
</div>
</div>
</div>
) : (
""
);
})
) : (
<div className="archive__no-item-project">
<img src={archiveTrackerProjects} alt="#" />
<p>В архиве проектов нет</p>
</div>
)}
</div>
</div>
</div>
</div> </div>
</div> </div>
<Footer /> <Footer />

View File

@ -1,7 +1,7 @@
import React, { useState } from "react"; import React, { useState } from "react";
import AuthBlock from "@components/AuthBlock/AuthBlock"; import AuthBlock from "@components/AuthBlock/AuthBlock";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import { ModalReset } from "@components/Modal/ModalReset/ModalReset"; import { ModalReset } from "@components/Modal/ModalReset/ModalReset";

View File

@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { NavLink } from "react-router-dom"; import { NavLink } from "react-router-dom";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar"; import SideBar from "@components/SideBar/SideBar";

View File

@ -4,7 +4,7 @@ import { Navigate } from "react-router-dom";
import { useFormValidation } from "@hooks/useFormValidation"; import { useFormValidation } from "@hooks/useFormValidation";
import { useNotification } from "@hooks/useNotification"; import { useNotification } from "@hooks/useNotification";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer"; import { Footer } from "@components/Common/Footer/Footer";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import { ModalTrackerRegistration } from "@components/Modal/ModalTrackerRegistration/ModalTrackerRegistration"; import { ModalTrackerRegistration } from "@components/Modal/ModalTrackerRegistration/ModalTrackerRegistration";