Compare commits
No commits in common. "1576b2321501d8c406ab2b8193eca628ed2fa265" and "269f3fe70312d047484ec68626b25c6ef101a078" have entirely different histories.
1576b23215
...
269f3fe703
@ -1,64 +1,63 @@
|
|||||||
import "bootstrap/dist/css/bootstrap.min.css";
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useSelector } from "react-redux";
|
|
||||||
import {
|
import {
|
||||||
Navigate,
|
|
||||||
Route,
|
|
||||||
BrowserRouter as Router,
|
BrowserRouter as Router,
|
||||||
Routes
|
Route,
|
||||||
|
Routes,
|
||||||
|
Navigate,
|
||||||
} from "react-router-dom";
|
} from "react-router-dom";
|
||||||
|
|
||||||
import { getNotification } from "@redux/outstaffingSlice";
|
import { getNotification } from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate";
|
import Auth from "./pages/Auth/Auth";
|
||||||
import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists";
|
import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists";
|
||||||
|
import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"
|
||||||
import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo";
|
import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo";
|
||||||
import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion";
|
import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
|
||||||
import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions";
|
import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration";
|
||||||
import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest";
|
import Home from "./pages/Home/Home";
|
||||||
import { PartnerBid } from "@pages/PartnerBid/PartnerBid";
|
import Candidate from "./components/Candidate/Candidate";
|
||||||
import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport";
|
import Calendar from "./components/Calendar/Calendar";
|
||||||
import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees";
|
import ReportForm from "./components/ReportForm/ReportForm";
|
||||||
import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests";
|
import FreeDevelopers from "./components/FreeDevelopers/FreeDevelopers";
|
||||||
import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings";
|
import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen";
|
||||||
import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties";
|
import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar";
|
||||||
import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories";
|
import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting";
|
||||||
import { Payouts } from "@pages/Payouts/Payouts";
|
import Article from "./pages/Article/Article";
|
||||||
import { Profile } from "@pages/Profile/Profile";
|
import FormPage from "./pages/FormPage/FormPage";
|
||||||
import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
|
import SingleReportPage from "./pages/SingleReportPage/SingleReportPage";
|
||||||
import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker";
|
|
||||||
import { PassingTests } from "@pages/Quiz/PassingTests";
|
|
||||||
import { QuizPage } from "@pages/Quiz/QuizPage";
|
import { QuizPage } from "@pages/Quiz/QuizPage";
|
||||||
import { QuizReportPage } from "@pages/Quiz/QuizReportPage";
|
import { QuizReportPage } from "@pages/Quiz/QuizReportPage";
|
||||||
import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate";
|
import { Profile } from "@pages/Profile/Profile";
|
||||||
import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting";
|
|
||||||
import Statistics from "@pages/Statistics/Statistics";
|
|
||||||
import { Summary } from "@pages/Summary/Summary";
|
import { Summary } from "@pages/Summary/Summary";
|
||||||
import { Tracker } from "@pages/Tracker/Tracker";
|
|
||||||
import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
|
|
||||||
import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro";
|
|
||||||
import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration";
|
|
||||||
import { ViewReport } from "@pages/ViewReport/ViewReport";
|
import { ViewReport } from "@pages/ViewReport/ViewReport";
|
||||||
|
import { Tracker } from "@pages/Tracker/Tracker";
|
||||||
import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen";
|
import { Payouts } from "@pages/Payouts/Payouts";
|
||||||
import Notification from "@components/Notification/Notification";
|
import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings";
|
||||||
import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar";
|
import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests";
|
||||||
|
import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest";
|
||||||
import "./assets/fonts/stylesheet.css";
|
import { PartnerBid } from "@pages/PartnerBid/PartnerBid";
|
||||||
import "./assets/global.scss";
|
import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories";
|
||||||
import Calendar from "./components/Calendar/Calendar";
|
import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties";
|
||||||
import Candidate from "./components/Candidate/Candidate";
|
import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees";
|
||||||
import FreeDevelopers from "./components/FreeDevelopers/FreeDevelopers";
|
import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate";
|
||||||
import ReportForm from "./components/ReportForm/ReportForm";
|
import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate";
|
||||||
import Article from "./pages/Article/Article";
|
import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
|
||||||
import Auth from "./pages/Auth/Auth";
|
import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport";
|
||||||
|
import { PassingTests } from "@pages/Quiz/PassingTests";
|
||||||
import Blog from "./pages/Blog/Blog";
|
import Blog from "./pages/Blog/Blog";
|
||||||
import FormPage from "./pages/FormPage/FormPage";
|
import Statistics from "@pages/Statistics/Statistics";
|
||||||
import Home from "./pages/Home/Home";
|
import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker";
|
||||||
import SingleReportPage from "./pages/SingleReportPage/SingleReportPage";
|
import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions";
|
||||||
|
import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion";
|
||||||
|
import Notification from "@components/Notification/Notification";
|
||||||
|
import { useSelector } from "react-redux";
|
||||||
|
|
||||||
|
import "./assets/global.scss";
|
||||||
|
import "./assets/fonts/stylesheet.css";
|
||||||
|
import "bootstrap/dist/css/bootstrap.min.css";
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const notification = useSelector(getNotification);
|
const notification = useSelector(getNotification)
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Router>
|
<Router>
|
||||||
@ -66,22 +65,10 @@ 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
|
<Route exact path="/tracker-registration" element={<TrackerRegistration />} />
|
||||||
exact
|
|
||||||
path="/tracker-registration"
|
|
||||||
element={<TrackerRegistration />}
|
|
||||||
/>
|
|
||||||
<Route exact path="/company" element={<CompanyInfo />} />
|
<Route exact path="/company" element={<CompanyInfo />} />
|
||||||
<Route
|
<Route exact path="/registration-setting" element={<RegistrationSetting />} />
|
||||||
exact
|
<Route exact path="/catalog-specialists" element={<CatalogSpecialists />} />
|
||||||
path="/registration-setting"
|
|
||||||
element={<RegistrationSetting />}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
exact
|
|
||||||
path="/catalog-specialists"
|
|
||||||
element={<CatalogSpecialists />}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<Route exact path="/worker/:id" element={<FreeDevelopers />} />
|
<Route exact path="/worker/:id" element={<FreeDevelopers />} />
|
||||||
<Route
|
<Route
|
||||||
@ -126,14 +113,10 @@ const App = () => {
|
|||||||
<Route exact path="catalog" element={<Home />} />
|
<Route exact path="catalog" element={<Home />} />
|
||||||
<Route exact path="calendar" element={<ProfileCalendar />} />
|
<Route exact path="calendar" element={<ProfileCalendar />} />
|
||||||
<Route exact path="calendar/report" element={<ReportForm />} />
|
<Route exact path="calendar/report" element={<ReportForm />} />
|
||||||
<Route
|
<Route exact path="calendar/view/:date/:id" element={<ViewReport />} />
|
||||||
exact
|
|
||||||
path="calendar/view/:date/:id"
|
|
||||||
element={<ViewReport />}
|
|
||||||
/>
|
|
||||||
<Route exact path="summary" element={<Summary />} />
|
<Route exact path="summary" element={<Summary />} />
|
||||||
<Route exact path="tracker" element={<Tracker />} />
|
<Route exact path="tracker" element={<Tracker />} />
|
||||||
<Route exact path="statistics/:id" element={<Statistics />} />
|
<Route exact path="statistics/:id" element={<Statistics/>}/>
|
||||||
<Route exact path="payouts" element={<Payouts />} />
|
<Route exact path="payouts" element={<Payouts />} />
|
||||||
<Route exact path="settings" element={<PartnerSettings />} />
|
<Route exact path="settings" element={<PartnerSettings />} />
|
||||||
<Route exact path="requests" element={<PartnerRequests />} />
|
<Route exact path="requests" element={<PartnerRequests />} />
|
||||||
@ -141,11 +124,7 @@ const App = () => {
|
|||||||
<Route exact path="requests-edit" element={<PartnerAddRequest />} />
|
<Route exact path="requests-edit" element={<PartnerAddRequest />} />
|
||||||
<Route exact path="requests-bid" element={<PartnerBid />} />
|
<Route exact path="requests-bid" element={<PartnerBid />} />
|
||||||
<Route exact path="employees" element={<PartnerCategories />} />
|
<Route exact path="employees" element={<PartnerCategories />} />
|
||||||
<Route
|
<Route exact path="employees/report/:uuid" element={<PartnerEmployeeReport />} />
|
||||||
exact
|
|
||||||
path="employees/report/:uuid"
|
|
||||||
element={<PartnerEmployeeReport />}
|
|
||||||
/>
|
|
||||||
<Route exact path="treaties" element={<PartnerTreaties />} />
|
<Route exact path="treaties" element={<PartnerTreaties />} />
|
||||||
<Route exact path="quiz">
|
<Route exact path="quiz">
|
||||||
<Route index element={<QuizPage />} />
|
<Route index element={<QuizPage />} />
|
||||||
@ -160,6 +139,7 @@ const App = () => {
|
|||||||
/>
|
/>
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
|
|
||||||
<Route exact path="profile-candidate/:id">
|
<Route exact path="profile-candidate/:id">
|
||||||
<Route index element={<ProfileCandidate />} />
|
<Route index element={<ProfileCandidate />} />
|
||||||
</Route>
|
</Route>
|
||||||
@ -167,7 +147,9 @@ const App = () => {
|
|||||||
<Route path="*" element={<Navigate to="/auth" replace />} />
|
<Route path="*" element={<Navigate to="/auth" replace />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
</Router>
|
</Router>
|
||||||
{notification.show && <Notification />}
|
{notification.show &&
|
||||||
|
<Notification />
|
||||||
|
}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,6 +1,6 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { getCorrectDate } from "@utils/calendarHelper";
|
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
||||||
|
|
||||||
import "./archiveTasksItem.scss";
|
import "./archiveTasksItem.scss";
|
||||||
|
|
||||||
|
@ -11,9 +11,9 @@ import { LogoutButton } from "@components/LogoutButton/LogoutButton";
|
|||||||
|
|
||||||
import rectangle from "assets/images/rectangle_secondPage.png";
|
import rectangle from "assets/images/rectangle_secondPage.png";
|
||||||
|
|
||||||
import { currentMonth } from "../../utils/calendarHelper";
|
|
||||||
import CalendarComponent from "./CalendarComponent";
|
import CalendarComponent from "./CalendarComponent";
|
||||||
import "./calendar.scss";
|
import "./calendar.scss";
|
||||||
|
import { currentMonth } from "./calendarHelper";
|
||||||
|
|
||||||
const Calendar = () => {
|
const Calendar = () => {
|
||||||
if (localStorage.getItem("role_status") !== "18") {
|
if (localStorage.getItem("role_status") !== "18") {
|
||||||
@ -79,8 +79,8 @@ const Calendar = () => {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</section>
|
</section>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -6,8 +6,8 @@ import calendarIcon from "assets/icons/calendar.svg";
|
|||||||
import ellipse from "assets/icons/ellipse.png";
|
import ellipse from "assets/icons/ellipse.png";
|
||||||
import rectangle from "assets/images/rectangle__calendar.png";
|
import rectangle from "assets/images/rectangle__calendar.png";
|
||||||
|
|
||||||
import { calendarHelper, currentMonthAndDay } from "../../utils/calendarHelper";
|
|
||||||
import "./calendarComponent.scss";
|
import "./calendarComponent.scss";
|
||||||
|
import { calendarHelper, currentMonthAndDay } from "./calendarHelper";
|
||||||
|
|
||||||
const CalendarComponent = ({ onSelect }) => {
|
const CalendarComponent = ({ onSelect }) => {
|
||||||
const [value, setValue] = useState(moment());
|
const [value, setValue] = useState(moment());
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
.calendar {
|
.calendar {
|
||||||
margin-bottom: 40px;
|
margin-bottom: 40px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__header {
|
&__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -135,6 +136,10 @@
|
|||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 2rem !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
@media (max-width: 575.98px) {
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
padding: 20px 30px;
|
padding: 20px 30px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__header {
|
&__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -233,8 +233,8 @@ const Candidate = () => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -148,6 +148,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 2.5rem !important;
|
||||||
|
position: relative;
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 375.98px) {
|
@media (max-width: 375.98px) {
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
border-radius: 44px;
|
border-radius: 44px;
|
||||||
color: white;
|
color: white;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
border: none;
|
border: none;
|
||||||
transition: 0.5s;
|
transition: 0.5s;
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__empty {
|
&__empty {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
@ -92,8 +92,8 @@ export const FreeDevelopers = () => {
|
|||||||
</BaseButton>
|
</BaseButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
.free-dev {
|
.free-dev {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
|
@ -43,7 +43,7 @@ import send from "assets/icons/send.svg";
|
|||||||
import watch from "assets/icons/watch.svg";
|
import watch from "assets/icons/watch.svg";
|
||||||
import avatarMok from "assets/images/avatarMok.png";
|
import avatarMok from "assets/images/avatarMok.png";
|
||||||
|
|
||||||
import { getCorrectDate } from "../../../../utils/calendarHelper";
|
import { getCorrectDate } from "../../../Calendar/calendarHelper";
|
||||||
import "./modalTicket.scss";
|
import "./modalTicket.scss";
|
||||||
|
|
||||||
registerLocale("ru", ru);
|
registerLocale("ru", ru);
|
||||||
|
@ -77,6 +77,7 @@
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #1458dd;
|
color: #1458dd;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
@ -779,6 +780,7 @@
|
|||||||
|
|
||||||
.react-datepicker__current-month {
|
.react-datepicker__current-month {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -821,6 +823,7 @@
|
|||||||
.react-datepicker__day {
|
.react-datepicker__day {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
}
|
}
|
||||||
@ -829,6 +832,7 @@
|
|||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.react-datepicker__triangle {
|
.react-datepicker__triangle {
|
||||||
|
@ -9,7 +9,6 @@ import { Link, useNavigate, useParams } from "react-router-dom";
|
|||||||
import { getProfileInfo } from "@redux/outstaffingSlice";
|
import { getProfileInfo } from "@redux/outstaffingSlice";
|
||||||
import { getBoarderLoader, setToggleTab } from "@redux/projectsTrackerSlice";
|
import { getBoarderLoader, setToggleTab } from "@redux/projectsTrackerSlice";
|
||||||
|
|
||||||
import { getCorrectDate } from "@utils/calendarHelper";
|
|
||||||
import {
|
import {
|
||||||
backendImg,
|
backendImg,
|
||||||
caseOfNum,
|
caseOfNum,
|
||||||
@ -22,6 +21,7 @@ import { apiRequest } from "@api/request";
|
|||||||
|
|
||||||
import { useNotification } from "@hooks/useNotification";
|
import { useNotification } from "@hooks/useNotification";
|
||||||
|
|
||||||
|
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import FileTracker from "@components/FileTracker/FileTracker";
|
import FileTracker from "@components/FileTracker/FileTracker";
|
||||||
|
@ -22,13 +22,13 @@ import {
|
|||||||
setProjectBoardFetch
|
setProjectBoardFetch
|
||||||
} from "@redux/projectsTrackerSlice";
|
} from "@redux/projectsTrackerSlice";
|
||||||
|
|
||||||
import { getCorrectDate } from "@utils/calendarHelper";
|
|
||||||
import { getCorrectRequestDate, urlForLocal } from "@utils/helper";
|
import { getCorrectRequestDate, urlForLocal } from "@utils/helper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
import { useNotification } from "@hooks/useNotification";
|
import { useNotification } from "@hooks/useNotification";
|
||||||
|
|
||||||
|
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
||||||
import BaseButton from "@components/Common/BaseButton/BaseButton";
|
import BaseButton from "@components/Common/BaseButton/BaseButton";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
|
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
|
||||||
|
@ -172,8 +172,7 @@
|
|||||||
|
|
||||||
.executor {
|
.executor {
|
||||||
display: flex;
|
display: flex;
|
||||||
column-gap: 5px;
|
justify-content: space-between;
|
||||||
align-items: center;
|
|
||||||
&:hover {
|
&:hover {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
@ -651,6 +650,7 @@
|
|||||||
|
|
||||||
.react-datepicker__current-month {
|
.react-datepicker__current-month {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
padding-bottom: 8px;
|
padding-bottom: 8px;
|
||||||
}
|
}
|
||||||
@ -694,6 +694,7 @@
|
|||||||
.react-datepicker__day {
|
.react-datepicker__day {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
}
|
}
|
||||||
@ -702,6 +703,7 @@
|
|||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.react-datepicker__triangle {
|
.react-datepicker__triangle {
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
body {
|
||||||
|
font-family: "LabGrotesque", sans-serif !important;
|
||||||
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px !important;
|
max-width: 1160px !important;
|
||||||
}
|
}
|
||||||
@ -5,6 +9,7 @@
|
|||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
padding-top: 23px;
|
padding-top: 23px;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
|
@ -12,11 +12,11 @@ import {
|
|||||||
setRequestDate
|
setRequestDate
|
||||||
} from "@redux/reportSlice";
|
} from "@redux/reportSlice";
|
||||||
|
|
||||||
import { getReports } from "@utils/calendarHelper";
|
|
||||||
import { urlForLocal } from "@utils/helper";
|
import { urlForLocal } from "@utils/helper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
|
import { getReports } from "@components/Calendar/calendarHelper";
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import { Navigation } from "@components/Navigation/Navigation";
|
import { Navigation } from "@components/Navigation/Navigation";
|
||||||
|
@ -11,6 +11,11 @@ import {
|
|||||||
setSendRequest
|
setSendRequest
|
||||||
} from "@redux/reportSlice";
|
} from "@redux/reportSlice";
|
||||||
|
|
||||||
|
import { getCorrectYYMMDD } from "@utils/helper";
|
||||||
|
|
||||||
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
|
import "@components/Calendar/calendarComponent.scss";
|
||||||
import {
|
import {
|
||||||
calendarHelper,
|
calendarHelper,
|
||||||
correctDay,
|
correctDay,
|
||||||
@ -18,12 +23,7 @@ import {
|
|||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getReports,
|
getReports,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "@utils/calendarHelper";
|
} from "@components/Calendar/calendarHelper";
|
||||||
import { getCorrectYYMMDD } from "@utils/helper";
|
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
|
||||||
|
|
||||||
import "@components/Calendar/calendarComponent.scss";
|
|
||||||
import BaseButton from "@components/Common/BaseButton/BaseButton";
|
import BaseButton from "@components/Common/BaseButton/BaseButton";
|
||||||
|
|
||||||
import arrow from "assets/icons/arrows/arrowCalendar.png";
|
import arrow from "assets/icons/arrows/arrowCalendar.png";
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
.profile__calendar {
|
.profile__calendar {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
@ -4,82 +4,22 @@ import { NavLink, useNavigate } from "react-router-dom";
|
|||||||
|
|
||||||
import { auth, getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
|
import { auth, getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import { urlForLocal } from "@utils/helper";
|
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
|
|
||||||
import avatarMok from "assets/images/avatarMok.png";
|
|
||||||
|
|
||||||
import "./profileHeader.scss";
|
import "./profileHeader.scss";
|
||||||
|
|
||||||
export const ProfileHeader = () => {
|
export const ProfileHeader = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const profileInfo = useSelector(getProfileInfo);
|
const profileInfo = useSelector(getProfileInfo);
|
||||||
const currentPath = window.location.pathname;
|
|
||||||
const [user] = useState(
|
const [user] = useState(
|
||||||
localStorage.getItem("role_status") === "18" ? "partner" : "developer"
|
localStorage.getItem("role_status") === "18" ? "partner" : "developer"
|
||||||
);
|
);
|
||||||
|
|
||||||
const [isLoggingOut, setIsLoggingOut] = useState(false);
|
const [isLoggingOut, setIsLoggingOut] = useState(false);
|
||||||
|
|
||||||
const [navInfo] = useState({
|
|
||||||
developer: [
|
|
||||||
{
|
|
||||||
path: "/summary",
|
|
||||||
name: "Резюме"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/calendar",
|
|
||||||
name: "Отчеты"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/tracker",
|
|
||||||
name: "Трекер"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/payouts",
|
|
||||||
name: "Выплаты"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/quiz",
|
|
||||||
name: "Тесты"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/settings",
|
|
||||||
name: "Настройки"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
partner: [
|
|
||||||
{
|
|
||||||
path: "/catalog",
|
|
||||||
name: "Каталог"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/requests",
|
|
||||||
name: "Запросы"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/employees",
|
|
||||||
name: "Персонал"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/tracker",
|
|
||||||
name: "Трекер"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/treaties",
|
|
||||||
name: "Договоры"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/settings",
|
|
||||||
name: "Настройки"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!Object.keys(profileInfo).length)
|
if (!Object.keys(profileInfo).length)
|
||||||
apiRequest(`/user/me`).then((profileInfo) => {
|
apiRequest(`/user/me`).then((profileInfo) => {
|
||||||
@ -100,85 +40,21 @@ export const ProfileHeader = () => {
|
|||||||
dispatch(setProfileInfo({}));
|
dispatch(setProfileInfo({}));
|
||||||
};
|
};
|
||||||
|
|
||||||
const [active, setActive] = useState(false);
|
|
||||||
|
|
||||||
const toggleBar = () => {
|
|
||||||
if (active) {
|
|
||||||
setActive(false);
|
|
||||||
} else {
|
|
||||||
setActive(true);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<header className="profile-header">
|
<header className="profile-header">
|
||||||
<div className="auth-title">
|
<div className="profile-header__head">
|
||||||
<div className="text">
|
<div className="profile-header__container">
|
||||||
<NavLink to={"/profile"} className="profile-header__title">
|
<NavLink to={"/profile"} className="profile-header__title">
|
||||||
itguild.
|
itguild.
|
||||||
<span>
|
<span>
|
||||||
{user === "developer" ? "для разработчиков" : "для партнеров"}
|
{user === "developer" ? "для разработчиков" : "для партнеров"}
|
||||||
</span>
|
</span>
|
||||||
</NavLink>
|
</NavLink>
|
||||||
|
|
||||||
<button onClick={handler} className="profile-header__logout">
|
<button onClick={handler} className="profile-header__logout">
|
||||||
{isLoggingOut ? <Loader /> : "Выйти"}
|
{isLoggingOut ? <Loader /> : "Выйти"}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div className="burger" onClick={() => toggleBar()}>
|
|
||||||
<div
|
|
||||||
className={active ? "burger__line l1 change" : "burger__line"}
|
|
||||||
></div>
|
|
||||||
<div
|
|
||||||
className={active ? "burger__line l2 change" : "burger__line"}
|
|
||||||
></div>
|
|
||||||
<div
|
|
||||||
className={active ? "burger__line l3 change" : "burger__line"}
|
|
||||||
></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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">
|
|
||||||
{profileInfo?.fio ? profileInfo?.fio : profileInfo?.username}
|
|
||||||
</h3>
|
|
||||||
<NavLink end to={"/profile"}>
|
|
||||||
<img
|
|
||||||
src={
|
|
||||||
profileInfo?.photo
|
|
||||||
? urlForLocal(profileInfo.photo)
|
|
||||||
: avatarMok
|
|
||||||
}
|
|
||||||
className="profile-header__personal-info-avatar"
|
|
||||||
alt="avatar"
|
|
||||||
/>
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{navInfo[user].map((link, index) => {
|
|
||||||
return (
|
|
||||||
<NavLink
|
|
||||||
key={index}
|
|
||||||
end
|
|
||||||
to={link.path === "/Quiz" ? link.path : `/profile${link.path}`}
|
|
||||||
className={currentPath.includes(link.path) ? "active" : ""}
|
|
||||||
>
|
|
||||||
{link.name}
|
|
||||||
</NavLink>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
|
|
||||||
<button onClick={handler} className="profile-header__logout-burger">
|
|
||||||
{isLoggingOut ? <Loader /> : "Выйти"}
|
|
||||||
</button>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,146 +1,13 @@
|
|||||||
.profile-header {
|
.profile-header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 66px;
|
|
||||||
background: #e1fccf;
|
|
||||||
padding: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__head {
|
&__head {
|
||||||
background: #e1fccf;
|
background: #e1fccf;
|
||||||
}
|
}
|
||||||
|
|
||||||
.auth-title {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
height: 100%;
|
|
||||||
z-index: 9999;
|
|
||||||
max-width: 1160px;
|
|
||||||
width: 100%;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0 15px;
|
|
||||||
|
|
||||||
.text {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.burger {
|
|
||||||
display: none;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
@media (max-width: 414px) {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__line {
|
|
||||||
width: 32px;
|
|
||||||
border-radius: 33px;
|
|
||||||
height: 5px;
|
|
||||||
background-color: #333;
|
|
||||||
margin: 5px 0 0 27px;
|
|
||||||
transition: 0.4s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.l1.change {
|
|
||||||
transform: rotate(-45deg) translate(-7px, 6px);
|
|
||||||
}
|
|
||||||
.l2.change {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
.l3.change {
|
|
||||||
transform: rotate(45deg) translate(-8px, -8px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info {
|
|
||||||
background: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.auth-body {
|
|
||||||
opacity: 0;
|
|
||||||
z-index: 99;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
height: 0;
|
|
||||||
width: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
background: #e1fccf;
|
|
||||||
transition: 0.3s;
|
|
||||||
|
|
||||||
// @media (max-width: 414px) {
|
|
||||||
// display: block;
|
|
||||||
// }
|
|
||||||
|
|
||||||
&__title {
|
|
||||||
display: flex;
|
|
||||||
margin-top: 24px;
|
|
||||||
|
|
||||||
img {
|
|
||||||
width: 160px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__navigation {
|
|
||||||
margin-top: 28px;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
a {
|
|
||||||
padding: 10px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
a,
|
|
||||||
a:hover,
|
|
||||||
a:active {
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__politic {
|
|
||||||
margin-top: 42px;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 22px;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__contacts {
|
|
||||||
margin-top: 127px;
|
|
||||||
color: #000000;
|
|
||||||
h4 {
|
|
||||||
font-size: 20px;
|
|
||||||
line-height: 33px;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.auth-body.active {
|
|
||||||
padding: 40px 10px;
|
|
||||||
opacity: 1;
|
|
||||||
display: flex;
|
|
||||||
overflow: visible;
|
|
||||||
width: calc(100vw / 3);
|
|
||||||
transition: width 0.3s;
|
|
||||||
height: 100%;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: stretch;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
padding: 0 15px;
|
padding: 0 15px;
|
||||||
@ -148,11 +15,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
min-height: 66px;
|
min-height: 50px;
|
||||||
|
|
||||||
@media (max-width: 414px) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
@ -179,19 +42,10 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
|
||||||
@media (max-width: 414px) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__logout-burger {
|
&__info {
|
||||||
background: none;
|
background: #ffffff;
|
||||||
border: none;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 32px;
|
|
||||||
color: #000000;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__nav {
|
&__nav {
|
||||||
@ -215,7 +69,6 @@
|
|||||||
|
|
||||||
a.active {
|
a.active {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 800px) {
|
@media (max-width: 800px) {
|
||||||
@ -234,10 +87,7 @@
|
|||||||
&__personal-info {
|
&__personal-info {
|
||||||
display: flex;
|
display: flex;
|
||||||
column-gap: 20px;
|
column-gap: 20px;
|
||||||
flex-direction: row-reverse;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
|
||||||
padding: 10px;
|
|
||||||
|
|
||||||
&-name {
|
&-name {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
@ -253,10 +103,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a.active {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-avatar {
|
&-avatar {
|
||||||
width: 37px;
|
width: 37px;
|
||||||
height: 37px;
|
height: 37px;
|
||||||
|
@ -135,7 +135,7 @@ export const ProjectTicket = ({ project, index }) => {
|
|||||||
<img src={edit}></img>
|
<img src={edit}></img>
|
||||||
<p>редактировать</p>
|
<p>редактировать</p>
|
||||||
</div>
|
</div>
|
||||||
<div onClick={() => copyProjectLink(project.id)}>
|
<div onClick={copyProjectLink(project.id)}>
|
||||||
<img src={link}></img>
|
<img src={link}></img>
|
||||||
<p>скопировать ссылку</p>
|
<p>скопировать ссылку</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -27,7 +27,7 @@ import {
|
|||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getCreatedDate,
|
getCreatedDate,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "../../utils/calendarHelper";
|
} from "../Calendar/calendarHelper";
|
||||||
import "./reportForm.scss";
|
import "./reportForm.scss";
|
||||||
|
|
||||||
registerLocale("ru", ru);
|
registerLocale("ru", ru);
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
.report-form {
|
.report-form {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
display: flex;
|
font-family: "LabGrotesque", sans-serif;
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@ -489,6 +486,7 @@
|
|||||||
|
|
||||||
.react-datepicker__current-month {
|
.react-datepicker__current-month {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -500,11 +498,13 @@
|
|||||||
.react-datepicker__day {
|
.react-datepicker__day {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.react-datepicker__day-name {
|
.react-datepicker__day-name {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.react-datepicker__triangle {
|
.react-datepicker__triangle {
|
||||||
|
@ -8,14 +8,13 @@ import {
|
|||||||
setSendRequest
|
setSendRequest
|
||||||
} from "@redux/reportSlice";
|
} from "@redux/reportSlice";
|
||||||
|
|
||||||
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getCreatedDate,
|
getCreatedDate,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "@utils/calendarHelper";
|
} from "@components/Calendar/calendarHelper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
|
||||||
|
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
|
|
||||||
import "./shortReport.scss";
|
import "./shortReport.scss";
|
||||||
|
@ -16,184 +16,184 @@
|
|||||||
@media (max-width: 1440px) {
|
@media (max-width: 1440px) {
|
||||||
width: 80px;
|
width: 80px;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.auth-title {
|
.auth-title {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
height: 80%;
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
|
.text {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
margin: 70px 0 0 0;
|
||||||
align-items: center;
|
|
||||||
height: 80%;
|
|
||||||
z-index: 9999;
|
|
||||||
|
|
||||||
.text {
|
h3 {
|
||||||
display: flex;
|
transform: rotate(270deg);
|
||||||
flex-direction: column;
|
font-size: 25px;
|
||||||
margin: 70px 0 0 0;
|
line-height: 32px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
h3 {
|
.burger {
|
||||||
transform: rotate(270deg);
|
cursor: pointer;
|
||||||
font-size: 25px;
|
margin-bottom: 70px;
|
||||||
line-height: 32px;
|
|
||||||
text-transform: uppercase;
|
&__line {
|
||||||
color: #222222;
|
width: 32px;
|
||||||
|
border-radius: 33px;
|
||||||
|
height: 5px;
|
||||||
|
background-color: #333;
|
||||||
|
margin: 5px 0 0 27px;
|
||||||
|
transition: 0.4s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.l1.change {
|
||||||
|
transform: rotate(-45deg) translate(-7px, 6px);
|
||||||
|
}
|
||||||
|
.l2.change {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.l3.change {
|
||||||
|
transform: rotate(45deg) translate(-8px, -8px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.outstaffing {
|
||||||
|
transform: rotate(270deg);
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 32px;
|
||||||
|
width: 200px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1375px) {
|
||||||
|
flex-direction: row;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
.burger {
|
.burger {
|
||||||
cursor: pointer;
|
margin-bottom: 5px;
|
||||||
margin-bottom: 70px;
|
}
|
||||||
|
|
||||||
&__line {
|
h3 {
|
||||||
width: 32px;
|
display: none;
|
||||||
border-radius: 33px;
|
|
||||||
height: 5px;
|
|
||||||
background-color: #333;
|
|
||||||
margin: 5px 0 0 27px;
|
|
||||||
transition: 0.4s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.l1.change {
|
|
||||||
transform: rotate(-45deg) translate(-7px, 6px);
|
|
||||||
}
|
|
||||||
.l2.change {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
.l3.change {
|
|
||||||
transform: rotate(45deg) translate(-8px, -8px);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.outstaffing {
|
.outstaffing {
|
||||||
transform: rotate(270deg);
|
margin: 0;
|
||||||
font-size: 18px;
|
width: 150px;
|
||||||
line-height: 32px;
|
font-size: 12px;
|
||||||
width: 200px;
|
transform: none;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin-right: 15px;
|
margin-right: 5px;
|
||||||
|
width: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@media (max-width: 1375px) {
|
}
|
||||||
flex-direction: row;
|
|
||||||
height: 100%;
|
.auth-body {
|
||||||
|
padding: 40px 10px;
|
||||||
.text {
|
visibility: hidden;
|
||||||
margin: 0;
|
transition: 0.2s ease-in-out;
|
||||||
flex-direction: row;
|
opacity: 0;
|
||||||
|
z-index: 99;
|
||||||
.burger {
|
position: absolute;
|
||||||
margin-bottom: 5px;
|
top: 0;
|
||||||
}
|
left: 0;
|
||||||
|
height: 100%;
|
||||||
h3 {
|
background: #e1fccf;
|
||||||
display: none;
|
width: 0;
|
||||||
}
|
flex-direction: column;
|
||||||
}
|
align-items: stretch;
|
||||||
|
|
||||||
.outstaffing {
|
&__title {
|
||||||
margin: 0;
|
display: flex;
|
||||||
width: 150px;
|
margin-top: 24px;
|
||||||
font-size: 12px;
|
|
||||||
transform: none;
|
img {
|
||||||
|
width: 160px;
|
||||||
img {
|
}
|
||||||
margin-right: 5px;
|
}
|
||||||
width: 15px;
|
|
||||||
}
|
&__navigation {
|
||||||
}
|
margin-top: 28px;
|
||||||
}
|
padding: 0;
|
||||||
}
|
list-style: none;
|
||||||
|
font-size: 20px;
|
||||||
.auth-body {
|
line-height: 33px;
|
||||||
padding: 40px 10px;
|
|
||||||
visibility: hidden;
|
a,
|
||||||
transition: 0.2s ease-in-out;
|
a:hover,
|
||||||
opacity: 0;
|
a:active {
|
||||||
z-index: 99;
|
color: #000000;
|
||||||
position: absolute;
|
}
|
||||||
top: 0;
|
}
|
||||||
left: 0;
|
|
||||||
height: 100%;
|
&__politic {
|
||||||
background: #e1fccf;
|
margin-top: 42px;
|
||||||
width: 0;
|
font-size: 14px;
|
||||||
flex-direction: column;
|
line-height: 22px;
|
||||||
align-items: stretch;
|
color: #000000;
|
||||||
|
}
|
||||||
&__title {
|
|
||||||
display: flex;
|
&__contacts {
|
||||||
margin-top: 24px;
|
margin-top: 127px;
|
||||||
|
color: #000000;
|
||||||
img {
|
h4 {
|
||||||
width: 160px;
|
font-size: 20px;
|
||||||
}
|
line-height: 33px;
|
||||||
}
|
}
|
||||||
|
p {
|
||||||
&__navigation {
|
font-size: 14px;
|
||||||
margin-top: 28px;
|
}
|
||||||
padding: 0;
|
}
|
||||||
list-style: none;
|
|
||||||
font-size: 20px;
|
@media (max-width: 1375px) {
|
||||||
line-height: 33px;
|
&__title {
|
||||||
|
margin-top: 35px;
|
||||||
a,
|
}
|
||||||
a:hover,
|
|
||||||
a:active {
|
&__politic {
|
||||||
color: #000000;
|
margin-top: 35px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
&__contacts {
|
||||||
&__politic {
|
margin: 50px 0 25px 0;
|
||||||
margin-top: 42px;
|
}
|
||||||
font-size: 14px;
|
}
|
||||||
line-height: 22px;
|
}
|
||||||
color: #000000;
|
|
||||||
}
|
.auth-body.active {
|
||||||
|
visibility: visible;
|
||||||
&__contacts {
|
transition: 0.1s ease-in-out;
|
||||||
margin-top: 127px;
|
opacity: 1;
|
||||||
color: #000000;
|
display: flex;
|
||||||
h4 {
|
width: 280px;
|
||||||
font-size: 20px;
|
left: 100px;
|
||||||
line-height: 33px;
|
|
||||||
}
|
@media (max-width: 1440px) {
|
||||||
p {
|
left: 79px;
|
||||||
font-size: 14px;
|
}
|
||||||
}
|
|
||||||
}
|
@media (max-width: 1375px) {
|
||||||
|
left: 0;
|
||||||
@media (max-width: 1375px) {
|
width: 100%;
|
||||||
&__title {
|
height: 705px;
|
||||||
margin-top: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__politic {
|
|
||||||
margin-top: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__contacts {
|
|
||||||
margin: 50px 0 25px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.auth-body.active {
|
|
||||||
visibility: visible;
|
|
||||||
transition: 0.1s ease-in-out;
|
|
||||||
opacity: 1;
|
|
||||||
display: flex;
|
|
||||||
width: 280px;
|
|
||||||
left: 100px;
|
|
||||||
|
|
||||||
@media (max-width: 1440px) {
|
|
||||||
left: 79px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 1375px) {
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 705px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,11 +2,11 @@ import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
|
|||||||
import { CKEditor } from "@ckeditor/ckeditor5-react";
|
import { CKEditor } from "@ckeditor/ckeditor5-react";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
|
|
||||||
import { getCorrectDate } from "@utils/calendarHelper";
|
|
||||||
import { urlForLocal } from "@utils/helper";
|
import { urlForLocal } from "@utils/helper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
|
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
||||||
import TrackerTaskSubComment from "@components/TrackerTaskComment/TrackerTaskComment";
|
import TrackerTaskSubComment from "@components/TrackerTaskComment/TrackerTaskComment";
|
||||||
|
|
||||||
import del from "assets/icons/delete.svg";
|
import del from "assets/icons/delete.svg";
|
||||||
|
@ -6,13 +6,15 @@ body {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: "LabGrotesque", sans-serif !important;
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
||||||
|
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
||||||
|
sans-serif;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
|
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
||||||
monospace;
|
monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,10 +91,10 @@ const Auth = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<SideBar />
|
<SideBar />
|
||||||
<Footer />
|
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
.auth-partners {
|
.auth-partners {
|
||||||
background-color: #f1f1f1;
|
font-family: "LabGrotesque", sans-serif;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&__background {
|
&__background {
|
||||||
|
background-color: #f1f1f1;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ export const AuthForCandidate = () => {
|
|||||||
resetModal={setModalReset}
|
resetModal={setModalReset}
|
||||||
title="Войти, если есть доступ"
|
title="Войти, если есть доступ"
|
||||||
description="Если вы получили доступ, пройдя
|
description="Если вы получили доступ, пройдя
|
||||||
2 шага для входа, или хотите узнать
|
2 шага для входа или хотите узнать
|
||||||
свои результаты в кабинете"
|
свои результаты в кабинете"
|
||||||
/>
|
/>
|
||||||
<div className="auth-candidate__start">
|
<div className="auth-candidate__start">
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
.auth-candidate {
|
.auth-candidate {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
@ -61,4 +62,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,10 +90,12 @@ export const Blog = () => {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="blog__load-more">
|
<div className="blog__load-more">
|
||||||
<button>Загрузить еще</button>
|
<button>Загрузить еще</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Footer />
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -200,9 +200,9 @@ const CatalogSpecialists = () => {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<SideBar />
|
<SideBar />
|
||||||
<Footer />
|
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.catalog-specialists {
|
.catalog-specialists {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__wrapper {
|
&__wrapper {
|
||||||
padding-top: 24px;
|
padding-top: 24px;
|
||||||
|
@ -103,8 +103,8 @@ export const CompanyInfo = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
.company-info {
|
.company-info {
|
||||||
&__content {
|
&__content {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
padding-top: 60px;
|
padding-top: 60px;
|
||||||
|
|
||||||
|
@ -96,8 +96,8 @@ const FormPage = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -124,6 +124,10 @@
|
|||||||
right: 2.5rem;
|
right: 2.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-page footer {
|
||||||
|
margin-top: 6rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 991px) {
|
@media (max-width: 991px) {
|
||||||
.form-page {
|
.form-page {
|
||||||
&__separator {
|
&__separator {
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
.frequently-asked-question {
|
.frequently-asked-question {
|
||||||
background: #f5f5f5;
|
background: #f5f5f5;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
.frequently-asked-questions {
|
.frequently-asked-questions {
|
||||||
background: #f5f5f5;
|
background: #f5f5f5;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
|
@ -69,9 +69,9 @@ const Home = () => {
|
|||||||
<h2 className="catalog__title">Каталог специалистов</h2>
|
<h2 className="catalog__title">Каталог специалистов</h2>
|
||||||
<Outstaffing />
|
<Outstaffing />
|
||||||
<Description onLoadMore={loadMore} isLoadingMore={isLoadingMore} />
|
<Description onLoadMore={loadMore} isLoadingMore={isLoadingMore} />
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.partner-add-request {
|
.partner-add-request {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
@ -314,6 +314,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
&__info {
|
&__info {
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
|
@ -9,11 +9,11 @@ import {
|
|||||||
setPartnerRequestInfo
|
setPartnerRequestInfo
|
||||||
} from "@redux/outstaffingSlice";
|
} from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import { getCorrectDate } from "@utils/calendarHelper";
|
|
||||||
import { urlForLocal } from "@utils/helper";
|
import { urlForLocal } from "@utils/helper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
|
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
|
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
.partner-bid {
|
.partner-bid {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
@ -539,4 +536,8 @@
|
|||||||
background: #52b709;
|
background: #52b709;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,9 @@ import { Navigate, useParams } from "react-router-dom";
|
|||||||
|
|
||||||
import { getRequestDates, setRequestDate } from "@redux/reportSlice";
|
import { getRequestDates, setRequestDate } from "@redux/reportSlice";
|
||||||
|
|
||||||
import { getReports } from "@utils/calendarHelper";
|
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
|
import { getReports } from "@components/Calendar/calendarHelper";
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import { Navigation } from "@components/Navigation/Navigation";
|
import { Navigation } from "@components/Navigation/Navigation";
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
.employee-report {
|
.employee-report {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.partner-employees {
|
.partner-employees {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -168,13 +168,14 @@
|
|||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
.partner-requests {
|
.partner-requests {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
@ -355,4 +352,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.settings {
|
.settings {
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.info-personal__title {
|
.info-personal__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -12,9 +12,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__page {
|
&__page {
|
||||||
display: flex;
|
min-height: 750px;
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
max-width: 1160px !important;
|
max-width: 1160px !important;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
}
|
}
|
||||||
@ -131,10 +129,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.partner-settings {
|
.partner-settings {
|
||||||
display: flex;
|
margin-bottom: 110px;
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
|
|
||||||
&__body {
|
&__body {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.treaties {
|
.treaties {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -379,13 +379,14 @@
|
|||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.partner-categories {
|
.partner-categories {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -145,13 +145,14 @@
|
|||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,13 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
|
||||||
import { Navigation } from "@components/Navigation/Navigation";
|
import { Navigation } from "@components/Navigation/Navigation";
|
||||||
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
|
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
|
||||||
|
|
||||||
import "./payouts.scss";
|
|
||||||
|
|
||||||
export const Payouts = () => {
|
export const Payouts = () => {
|
||||||
return (
|
return (
|
||||||
<div className="payouts">
|
<div className="payouts">
|
||||||
<ProfileHeader />
|
<ProfileHeader />
|
||||||
<Navigation />
|
<Navigation />
|
||||||
<div className="container"></div>
|
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,13 +0,0 @@
|
|||||||
.payouts {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
|
||||||
background: #f1f1f1;
|
|
||||||
|
|
||||||
.container {
|
|
||||||
max-width: 1160px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,8 +1,8 @@
|
|||||||
.profile {
|
.profile {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -48,17 +48,92 @@
|
|||||||
@media (max-width: 1175px) {
|
@media (max-width: 1175px) {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// .item {
|
||||||
|
// max-width: 353px;
|
||||||
|
// width: 100%;
|
||||||
|
// padding: 35px 45px 15px 30px;
|
||||||
|
// background: #FFFFFF;
|
||||||
|
// border-radius: 12px;
|
||||||
|
// text-decoration: none;
|
||||||
|
// cursor: pointer;
|
||||||
|
// transition: all 0.3s ease;
|
||||||
|
|
||||||
|
// &:hover {
|
||||||
|
// box-shadow: 6px 5px 20px rgb(87 98 80 / 21%);
|
||||||
|
// transform: scale(1.02);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @media (max-width: 1175px) {
|
||||||
|
// width: 48%;
|
||||||
|
// max-width: none;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @media (max-width: 925px) {
|
||||||
|
// width: 100%;
|
||||||
|
// padding: 15px 25px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// &__about {
|
||||||
|
// display: flex;
|
||||||
|
// column-gap: 20px;
|
||||||
|
// align-items: center;
|
||||||
|
// margin-bottom: 30px;
|
||||||
|
|
||||||
|
// @media (max-width: 925px) {
|
||||||
|
// margin-bottom: 15px;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// h3 {
|
||||||
|
// color: #000000;
|
||||||
|
// font-weight: 500;
|
||||||
|
// font-size: 18px;
|
||||||
|
// line-height: 22px;
|
||||||
|
// max-width: 125px;
|
||||||
|
// margin-bottom: 0;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// &__info {
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: space-between;
|
||||||
|
// align-items: center;
|
||||||
|
|
||||||
|
// p {
|
||||||
|
// font-weight: 700;
|
||||||
|
// font-size: 12px;
|
||||||
|
// line-height: 20px;
|
||||||
|
// color: #000000;
|
||||||
|
// margin-bottom: 0;
|
||||||
|
|
||||||
|
// span {
|
||||||
|
// color: #52B709;
|
||||||
|
// font-weight: 700;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// &Link {
|
||||||
|
// width: 48px;
|
||||||
|
// height: 48px;
|
||||||
|
// background: #DDEEC6;
|
||||||
|
// border-radius: 50px;
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: center;
|
||||||
|
// align-items: center;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,160 +1,166 @@
|
|||||||
.profile-candidate {
|
.profile-candidate{
|
||||||
background: #f1f1f1;
|
background: #F1F1F1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
min-height: 100vh;
|
||||||
min-height: 100vh;
|
font-family: "LabGrotesque", sans-serif;
|
||||||
&__container {
|
display: flex;
|
||||||
max-width: 1160px;
|
flex-direction: column;
|
||||||
display: flex;
|
//max-width: 1200px;
|
||||||
flex-direction: column;
|
&__container{
|
||||||
margin: 0 auto 42px auto;
|
max-width: 1160px;
|
||||||
flex: 1 1 auto;
|
margin: 0 auto 42px auto;
|
||||||
padding: 0 15px;
|
flex: 1 1 auto;
|
||||||
}
|
padding: 0 15px;
|
||||||
&__title {
|
}
|
||||||
margin: 0 0 31px 0;
|
&__title{
|
||||||
}
|
margin: 0 0 31px 0;
|
||||||
&__row {
|
}
|
||||||
display: flex;
|
&__row{
|
||||||
gap: 30px;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
gap: 30px;
|
||||||
}
|
flex-wrap: wrap;
|
||||||
// &__column{
|
}
|
||||||
// flex: 1 1 60%;
|
// &__column{
|
||||||
// }
|
// flex: 1 1 60%;
|
||||||
&__tests {
|
// }
|
||||||
display: flex;
|
&__tests{
|
||||||
flex-wrap: wrap;
|
display: flex;
|
||||||
justify-content: space-between;
|
flex-wrap: wrap;
|
||||||
flex: 1 1 60%;
|
justify-content: space-between;
|
||||||
gap: 30px;
|
flex: 1 1 60%;
|
||||||
}
|
gap: 30px;
|
||||||
&__cards {
|
}
|
||||||
display: flex;
|
&__cards{
|
||||||
gap: 29px;
|
display: flex;
|
||||||
width: 100%;
|
gap: 29px;
|
||||||
@media (max-width: 660px) {
|
width: 100%;
|
||||||
flex-wrap: wrap;
|
@media (max-width: 660px) {
|
||||||
}
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
&__head-bottom {
|
}
|
||||||
margin: 0 0 27px 0;
|
&__head-bottom{
|
||||||
//max-width: 1160px;
|
margin: 0 0 27px 0;
|
||||||
}
|
//max-width: 1160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.instructions-candidate {
|
|
||||||
flex: 1 1 auto;
|
.instructions-candidate{
|
||||||
background: #ffffff;
|
flex: 1 1 auto;
|
||||||
border-radius: 12px;
|
background: #FFFFFF;
|
||||||
&__container {
|
border-radius: 12px;
|
||||||
padding: 40px 18px 32px 36px;
|
&__container{
|
||||||
display: flex;
|
padding: 40px 18px 32px 36px;
|
||||||
flex-direction: column;
|
display: flex;
|
||||||
gap: 29px;
|
flex-direction: column;
|
||||||
@media (max-width: 660px) {
|
gap: 29px;
|
||||||
padding: 20px;
|
@media (max-width: 660px) {
|
||||||
}
|
padding: 20px;
|
||||||
}
|
}
|
||||||
&__note {
|
}
|
||||||
display: flex;
|
&__note{
|
||||||
align-items: center;
|
display: flex;
|
||||||
gap: 22px;
|
align-items: center;
|
||||||
&:not(:last-child) {
|
gap: 22px;
|
||||||
margin: 0 0 30px 0;
|
&:not(:last-child){
|
||||||
}
|
margin: 0 0 30px 0;
|
||||||
}
|
}
|
||||||
&__icon {
|
|
||||||
width: 25px;
|
}
|
||||||
height: 30px;
|
&__icon{
|
||||||
}
|
width: 25px;
|
||||||
&__title {
|
height: 30px;
|
||||||
color: #52b709;
|
}
|
||||||
font-weight: 900;
|
&__title{
|
||||||
font-size: 14px;
|
color: #52B709;
|
||||||
line-height: 171%;
|
font-weight: 900;
|
||||||
margin: 0 0 20px 0;
|
font-size: 14px;
|
||||||
}
|
line-height: 171%;
|
||||||
&__text {
|
margin: 0 0 20px 0;
|
||||||
font-weight: 400;
|
}
|
||||||
font-size: 12px;
|
&__text{
|
||||||
line-height: 200%;
|
font-weight: 400;
|
||||||
color: #000000;
|
font-size: 12px;
|
||||||
max-width: 235px;
|
line-height: 200%;
|
||||||
span {
|
color: #000000;
|
||||||
color: #406128;
|
max-width: 235px;
|
||||||
font-weight: 700;
|
span{
|
||||||
text-decoration: underline;
|
color: #406128;
|
||||||
}
|
font-weight: 700;
|
||||||
}
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-candidate {
|
.info-candidate{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
padding: 20px 45px;
|
padding: 20px 45px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 47px;
|
gap: 47px;
|
||||||
@media (max-width: 560px) {
|
@media (max-width:560px) {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
&__img {
|
&__img{
|
||||||
flex: 0 0 88px;
|
flex: 0 0 88px;
|
||||||
height: 88px;
|
height: 88px;
|
||||||
img {
|
img{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&__info {
|
&__info{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
&__title {
|
&__title{
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 200%;
|
line-height: 200%;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
margin: 0 0 12px 0;
|
margin: 0 0 12px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__decor {
|
&__decor{
|
||||||
background: #52b709;
|
background: #52B709;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
width: 60%;
|
width: 60%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom-head {
|
.bottom-head{
|
||||||
margin: 0 0 40px 0;
|
margin: 0 0 40px 0;
|
||||||
height: 66px;
|
height: 66px;
|
||||||
background: #fff;
|
background: #FFF;
|
||||||
&__container {
|
&__container{
|
||||||
margin: 0 auto;
|
max-width: 1160px;
|
||||||
padding: 0 15px;
|
margin: 0 auto;
|
||||||
height: 100%;
|
padding: 0 15px;
|
||||||
display: flex;
|
height: 100%;
|
||||||
justify-content: space-between;
|
display: flex;
|
||||||
align-items: center;
|
justify-content: space-between;
|
||||||
}
|
align-items: center;
|
||||||
&__img {
|
}
|
||||||
flex: 0 0 37px;
|
&__img{
|
||||||
height: 37px;
|
flex: 0 0 37px;
|
||||||
img {
|
height: 37px;
|
||||||
width: 100%;
|
img{
|
||||||
height: 100%;
|
width: 100%;
|
||||||
object-fit: cover;
|
height: 100%;
|
||||||
border-radius: 50%;
|
object-fit: cover;
|
||||||
}
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
&__title {
|
}
|
||||||
font-weight: 500;
|
&__title{
|
||||||
font-size: 18px;
|
font-weight: 500;
|
||||||
line-height: 178%;
|
font-size: 18px;
|
||||||
color: #807777;
|
line-height: 178%;
|
||||||
}
|
color: #807777;
|
||||||
}
|
}
|
||||||
|
}
|
@ -58,7 +58,7 @@ import accept from "assets/images/accept.png";
|
|||||||
import archive from "assets/images/archiveIcon.png";
|
import archive from "assets/images/archiveIcon.png";
|
||||||
import avatarMok from "assets/images/avatarMok.png";
|
import avatarMok from "assets/images/avatarMok.png";
|
||||||
|
|
||||||
import { getCorrectDate } from "../../utils/calendarHelper";
|
import { getCorrectDate } from "../../components/Calendar/calendarHelper";
|
||||||
|
|
||||||
export const ProjectTracker = () => {
|
export const ProjectTracker = () => {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
@ -1,13 +1,13 @@
|
|||||||
.quiz-page {
|
.quiz-page {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
margin: 23px auto 42px auto;
|
margin: 23px auto 42px auto;
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -64,7 +64,9 @@
|
|||||||
|
|
||||||
.interjacent-page-quiz {
|
.interjacent-page-quiz {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
@ -78,7 +80,6 @@
|
|||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
margin: 23px auto 42px auto;
|
margin: 23px auto 42px auto;
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -95,14 +96,14 @@
|
|||||||
|
|
||||||
.passing-tests-page {
|
.passing-tests-page {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
flex-direction: column;
|
|
||||||
display: flex;
|
|
||||||
margin: 23px auto 42px auto;
|
margin: 23px auto 42px auto;
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -135,14 +136,14 @@
|
|||||||
|
|
||||||
.quiz-report-page {
|
.quiz-report-page {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
|
height: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
margin: 23px auto 42px auto;
|
margin: 23px auto 42px auto;
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
.registration-candidate {
|
.registration-candidate {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
|
|
||||||
@ -187,4 +188,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 80px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -212,8 +212,8 @@ export const RegistrationSetting = () => {
|
|||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,5 +1,6 @@
|
|||||||
.registration-setting {
|
.registration-setting {
|
||||||
&__content {
|
&__content {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 50px 0 0;
|
padding: 50px 0 0;
|
||||||
|
@ -6,7 +6,6 @@ import { setToggleTab } from "@redux/projectsTrackerSlice";
|
|||||||
|
|
||||||
import { copyProjectLink } from "@utils/helper";
|
import { copyProjectLink } from "@utils/helper";
|
||||||
|
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
|
||||||
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";
|
||||||
@ -72,137 +71,133 @@ const Statistics = () => {
|
|||||||
/>
|
/>
|
||||||
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="tracker__tabs">
|
</div>
|
||||||
<div className="tracker__tabs__head">
|
<div className="tracker__tabs">
|
||||||
<Link
|
<div className="tracker__tabs__head">
|
||||||
to="/profile/tracker"
|
<Link
|
||||||
className="tab active-tab"
|
to="/profile/tracker"
|
||||||
onClick={() => toggleTabs(1)}
|
className="tab active-tab"
|
||||||
>
|
onClick={() => toggleTabs(1)}
|
||||||
<img src={project} alt="img" />
|
>
|
||||||
<p>Проекты </p>
|
<img src={project} alt="img" />
|
||||||
</Link>
|
<p>Проекты </p>
|
||||||
<Link
|
</Link>
|
||||||
to="/profile/tracker"
|
<Link
|
||||||
className="tab"
|
to="/profile/tracker"
|
||||||
onClick={() => toggleTabs(2)}
|
className="tab"
|
||||||
>
|
onClick={() => toggleTabs(2)}
|
||||||
<img src={tasks} alt="img" />
|
>
|
||||||
<p>Все мои задачи</p>
|
<img src={tasks} alt="img" />
|
||||||
</Link>
|
<p>Все мои задачи</p>
|
||||||
<Link
|
</Link>
|
||||||
to="/profile/tracker"
|
<Link
|
||||||
className="tab"
|
to="/profile/tracker"
|
||||||
onClick={() => toggleTabs(3)}
|
className="tab"
|
||||||
>
|
onClick={() => toggleTabs(3)}
|
||||||
<img src={archive} alt="img" />
|
>
|
||||||
<p>Архив</p>
|
<img src={archive} alt="img" />
|
||||||
</Link>
|
<p>Архив</p>
|
||||||
</div>
|
</Link>
|
||||||
<div className="tracker__tabs__content">
|
</div>
|
||||||
<div className="tracker__tabs__content__wrapper statistics-body">
|
<div className="tracker__tabs__content">
|
||||||
<div className="statistics-header">
|
<div className="tracker__tabs__content__wrapper statistics-body">
|
||||||
<div className="statistics-header__menu">
|
<div className="statistics-header">
|
||||||
<h1>Статистика проекта</h1>
|
<div className="statistics-header__menu">
|
||||||
<img src={link} alt="#" />
|
<h1>Статистика проекта</h1>
|
||||||
<span
|
<img src={link} alt="#" />
|
||||||
className="return-text"
|
<span className="return-text" onClick={copyProjectLink("62")}>
|
||||||
onClick={() => copyProjectLink("62")}
|
ссылка на проект
|
||||||
>
|
</span>
|
||||||
ссылка на проект
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="statistics-header__return">
|
|
||||||
<img src={arrow} alt="#" />
|
|
||||||
|
|
||||||
<Link to={`/profile/tracker`} className="return-text">
|
|
||||||
К списку проектов
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="statistics-info">
|
|
||||||
<div className="statistics-info__head">
|
<div className="statistics-header__return">
|
||||||
<p>Проект: </p>
|
<img src={arrow} alt="#" />
|
||||||
<h1>{"Разработка трекера"}</h1>
|
|
||||||
|
<Link to={`/profile/tracker`} className="return-text">
|
||||||
|
К списку проектов
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="statistics-info">
|
||||||
|
<div className="statistics-info__head">
|
||||||
|
<p>Проект: </p>
|
||||||
|
<h1>{"Разработка трекера"}</h1>
|
||||||
|
</div>
|
||||||
|
<div className="statistics-info__team">
|
||||||
|
<div className="project-info">
|
||||||
|
<div className="project-info__creator">
|
||||||
|
<span className="return-text">Создатель проекта:</span>
|
||||||
|
<div>
|
||||||
|
<p>{"Василий Тарасов"}</p>{" "}
|
||||||
|
<img src={mockAvatar} alt="#" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="project-info__tasks">
|
||||||
|
<div className="task-quantity">
|
||||||
|
<p>Открытые задачи</p>
|
||||||
|
<span className="task-quantity_open">{4}</span>
|
||||||
|
</div>
|
||||||
|
<div className="task-quantity">
|
||||||
|
<p>Задач в работе</p>
|
||||||
|
<span className="task-quantity_work">{5}</span>
|
||||||
|
</div>
|
||||||
|
<div className="task-quantity">
|
||||||
|
<p>Закрыто задач</p>
|
||||||
|
<span className="task-quantity_closed">{434}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="statistics-info__team">
|
<div className="list-team">
|
||||||
<div className="project-info">
|
<div className="list-team__title">
|
||||||
<div className="project-info__creator">
|
<span className="return-text">Участники проекта:</span>
|
||||||
<span className="return-text">Создатель проекта:</span>
|
|
||||||
<div>
|
|
||||||
<p>{"Василий Тарасов"}</p>{" "}
|
|
||||||
<img src={mockAvatar} alt="#" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="project-info__tasks">
|
|
||||||
<div className="task-quantity">
|
|
||||||
<p>Открытые задачи</p>
|
|
||||||
<span className="task-quantity_open">{4}</span>
|
|
||||||
</div>
|
|
||||||
<div className="task-quantity">
|
|
||||||
<p>Задач в работе</p>
|
|
||||||
<span className="task-quantity_work">{5}</span>
|
|
||||||
</div>
|
|
||||||
<div className="task-quantity">
|
|
||||||
<p>Закрыто задач</p>
|
|
||||||
<span className="task-quantity_closed">{434}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="list-team">
|
<div className="list-team__head">
|
||||||
<div className="list-team__title">
|
<p>Имя</p>
|
||||||
<span className="return-text">Участники проекта:</span>
|
<p>Почта</p>
|
||||||
</div>
|
<p>Роль</p>
|
||||||
<div className="list-team__head">
|
<p>Статус</p>
|
||||||
<p>Имя</p>
|
</div>
|
||||||
<p>Почта</p>
|
<div className="list-team__body">
|
||||||
<p>Роль</p>
|
{teams.map((item) => {
|
||||||
<p>Статус</p>
|
return (
|
||||||
</div>
|
<>
|
||||||
<div className="list-team__body">
|
<div className="list-team__item">
|
||||||
{teams.map((item) => {
|
<div className="person-name">
|
||||||
return (
|
<img src={item.avatar} alt="#" />
|
||||||
<>
|
<p>{item.name}</p>
|
||||||
<div className="list-team__item">
|
|
||||||
<div className="person-name">
|
|
||||||
<img src={item.avatar} alt="#" />
|
|
||||||
<p>{item.name}</p>
|
|
||||||
</div>
|
|
||||||
<div className="person-email">
|
|
||||||
<img src={emailImg} alt="#" />
|
|
||||||
<p>{item.email}</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p className="person-type">{item.role}</p>
|
|
||||||
{/* <span className="status status-active"> */}
|
|
||||||
|
|
||||||
<span
|
|
||||||
className={
|
|
||||||
item.status
|
|
||||||
? "status status-active"
|
|
||||||
: "status status-none"
|
|
||||||
}
|
|
||||||
>
|
|
||||||
{item.status ? "Активно" : "Не активно"}
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
<div className="person-email">
|
||||||
);
|
<img src={emailImg} alt="#" />
|
||||||
})}
|
<p>{item.email}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div className="add-person">
|
<p className="person-type">{item.role}</p>
|
||||||
<span className="add-person__button">+</span>
|
{/* <span className="status status-active"> */}
|
||||||
<p>Добавить участника</p>
|
|
||||||
|
<span
|
||||||
|
className={
|
||||||
|
item.status
|
||||||
|
? "status status-active"
|
||||||
|
: "status status-none"
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{item.status ? "Активно" : "Не активно"}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
})}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="add-person">
|
||||||
|
<span className="add-person__button">+</span>
|
||||||
|
<p>Добавить участника</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,15 +1,9 @@
|
|||||||
.statistics {
|
.statistics {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
.container {
|
position: relative;
|
||||||
max-width: 1160px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
&-header {
|
&-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.summary {
|
.summary {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -509,11 +509,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.tracker {
|
.tracker {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
@ -18,6 +18,14 @@
|
|||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
|
||||||
|
.row {
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
@ -26,9 +34,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__tabs {
|
&__tabs {
|
||||||
|
min-height: 600px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
&__head {
|
&__head {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -38,8 +38,8 @@ export const TrackerAuth = () => {
|
|||||||
<ModalReset setModalReset={setModalReset} />
|
<ModalReset setModalReset={setModalReset} />
|
||||||
</ModalLayout>
|
</ModalLayout>
|
||||||
)}
|
)}
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,16 +1,10 @@
|
|||||||
.tracker-auth {
|
.tracker-auth {
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
display: flex;
|
font-family: "LabGrotesque", sans-serif;
|
||||||
flex-direction: column;
|
background-color: #f1f1f1;
|
||||||
flex: 1;
|
|
||||||
|
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 50px 0 0;
|
padding: 50px 0 0;
|
||||||
|
min-height: 100vh;
|
||||||
|
|
||||||
@media (max-width: 1375px) {
|
@media (max-width: 1375px) {
|
||||||
padding-top: 100px;
|
padding-top: 100px;
|
||||||
@ -31,7 +25,7 @@
|
|||||||
margin-bottom: 46px;
|
margin-bottom: 46px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
span {
|
span {
|
||||||
color: #52b709;
|
color: #52B709;
|
||||||
position: relative;
|
position: relative;
|
||||||
img {
|
img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -102,8 +102,8 @@ export const TrackerIntro = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,6 +1,7 @@
|
|||||||
.tracker-intro {
|
.tracker-intro {
|
||||||
background-color: #f1f1f1;
|
|
||||||
&__content {
|
&__content {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
background-color: #f1f1f1;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
|
||||||
@media (max-width: 1375px) {
|
@media (max-width: 1375px) {
|
||||||
|
@ -149,8 +149,8 @@ export const TrackerRegistration = () => {
|
|||||||
/>
|
/>
|
||||||
</ModalLayout>
|
</ModalLayout>
|
||||||
)}
|
)}
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,5 +1,6 @@
|
|||||||
.tracker-registration {
|
.tracker-registration {
|
||||||
&__content {
|
&__content {
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
padding: 50px 0 0;
|
padding: 50px 0 0;
|
||||||
|
@ -4,14 +4,13 @@ import { Link, useParams } from "react-router-dom";
|
|||||||
|
|
||||||
import { setEditReport } from "@redux/reportSlice";
|
import { setEditReport } from "@redux/reportSlice";
|
||||||
|
|
||||||
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getCreatedDate,
|
getCreatedDate,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "@utils/calendarHelper";
|
} from "@components/Calendar/calendarHelper";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
|
||||||
|
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
import { Navigation } from "@components/Navigation/Navigation";
|
import { Navigation } from "@components/Navigation/Navigation";
|
||||||
@ -270,8 +269,8 @@ export const ViewReport = () => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
.view-report {
|
.view-report {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
display: flex;
|
height: 100%;
|
||||||
flex-direction: column;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
font-family: "LabGrotesque", sans-serif;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@media (max-width: 570px) {
|
@media (max-width: 570px) {
|
||||||
@ -427,4 +424,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 70px;
|
||||||
|
|
||||||
|
@media (max-width: 575px) {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,33 +2,34 @@ export function createMarkup(text) {
|
|||||||
return { __html: text.split("</p>").join("</p>") };
|
return { __html: text.split("</p>").join("</p>") };
|
||||||
}
|
}
|
||||||
|
|
||||||
export function transformHtml(text) {
|
// export function transformHtml(text) {
|
||||||
let startHtml = {
|
// let startHtml = {
|
||||||
__html: text.split("<h3> || <h2>").join("<br><h2>").split("<br>")
|
// __html: text.split("<h3> || <h2>").join("<br><h2>").split("<br>"),
|
||||||
};
|
// };
|
||||||
startHtml = startHtml.__html.filter(
|
// startHtml = startHtml.__html.filter(
|
||||||
(el) => (el !== null && el !== "") || el === 0
|
// (el) => (el !== null && el !== "") || el === 0
|
||||||
);
|
// );
|
||||||
const finalHtml = startHtml.map(
|
// const finalHtml = startHtml.map(
|
||||||
(item) =>
|
// (item) =>
|
||||||
`<div class='experience__block'>
|
// `<div class='experience__block'>
|
||||||
<div class="summary__sections__head">
|
// <div class="summary__sections__head">
|
||||||
<h3>Описание опыта работы</h3>
|
// <h3>Описание опыта работы</h3>
|
||||||
<button>Редактировать</button>
|
// <button>Редактировать</button>
|
||||||
</div>
|
// </div>
|
||||||
<div class="experience__content">${item.split("<h3>")[0]}</div>
|
// <div class="experience__content">${item.split("<h3>")[0]}</div>
|
||||||
</div>`
|
// </div>`
|
||||||
);
|
// );
|
||||||
return { __html: finalHtml.join("") };
|
// return { __html: finalHtml.join("") };
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
export const setToken = () => {
|
// export const setToken = () => {
|
||||||
const url = new URL(window.location.href);
|
// const url = new URL(window.location.href);
|
||||||
const urlT = url.searchParams.get("token");
|
// const urlT = url.searchParams.get("token");
|
||||||
urlT ? sessionStorage.setItem("token", "Bearer " + urlT) : "";
|
// urlT ? sessionStorage.setItem('token', 'Bearer ' + urlT) : '';
|
||||||
const tParam = urlT || sessionStorage.getItem("token");
|
// const tParam = urlT || sessionStorage.getItem('token');
|
||||||
return tParam ? { Authorization: tParam } : false;
|
// return tParam ? {"Authorization": tParam} : false
|
||||||
};
|
//
|
||||||
|
// };
|
||||||
|
|
||||||
export const getToken = () => {
|
export const getToken = () => {
|
||||||
const tParam = `Bearer ${localStorage.getItem("auth_token")}`;
|
const tParam = `Bearer ${localStorage.getItem("auth_token")}`;
|
||||||
|
Loading…
Reference in New Issue
Block a user