Compare commits
20 Commits
269f3fe703
...
1576b23215
Author | SHA1 | Date | |
---|---|---|---|
|
1576b23215 | ||
|
0880d27aea | ||
adc80d4cb0 | |||
|
65ca1c32ff | ||
|
26b27129fd | ||
8525445e18 | |||
954f696044 | |||
181bbc834a | |||
e2bce6fd38 | |||
|
42cae241f2 | ||
|
140adb0051 | ||
|
0fc8f68c79 | ||
|
795f92fe61 | ||
|
59a279f924 | ||
|
2268e6e281 | ||
4ea80eb460 | |||
|
12dd238c13 | ||
|
ef6d8f4331 | ||
|
97813c875c | ||
2e0f6d24a0 |
@ -1,63 +1,64 @@
|
|||||||
|
import "bootstrap/dist/css/bootstrap.min.css";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import { useSelector } from "react-redux";
|
||||||
import {
|
import {
|
||||||
BrowserRouter as Router,
|
|
||||||
Route,
|
|
||||||
Routes,
|
|
||||||
Navigate,
|
Navigate,
|
||||||
|
Route,
|
||||||
|
BrowserRouter as Router,
|
||||||
|
Routes
|
||||||
} from "react-router-dom";
|
} from "react-router-dom";
|
||||||
|
|
||||||
import { getNotification } from "@redux/outstaffingSlice";
|
import { getNotification } from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import Auth from "./pages/Auth/Auth";
|
import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate";
|
||||||
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 { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
|
import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion";
|
||||||
import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration";
|
import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions";
|
||||||
import Home from "./pages/Home/Home";
|
|
||||||
import Candidate from "./components/Candidate/Candidate";
|
|
||||||
import Calendar from "./components/Calendar/Calendar";
|
|
||||||
import ReportForm from "./components/ReportForm/ReportForm";
|
|
||||||
import FreeDevelopers from "./components/FreeDevelopers/FreeDevelopers";
|
|
||||||
import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen";
|
|
||||||
import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar";
|
|
||||||
import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting";
|
|
||||||
import Article from "./pages/Article/Article";
|
|
||||||
import FormPage from "./pages/FormPage/FormPage";
|
|
||||||
import SingleReportPage from "./pages/SingleReportPage/SingleReportPage";
|
|
||||||
import { QuizPage } from "@pages/Quiz/QuizPage";
|
|
||||||
import { QuizReportPage } from "@pages/Quiz/QuizReportPage";
|
|
||||||
import { Profile } from "@pages/Profile/Profile";
|
|
||||||
import { Summary } from "@pages/Summary/Summary";
|
|
||||||
import { ViewReport } from "@pages/ViewReport/ViewReport";
|
|
||||||
import { Tracker } from "@pages/Tracker/Tracker";
|
|
||||||
import { Payouts } from "@pages/Payouts/Payouts";
|
|
||||||
import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings";
|
|
||||||
import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests";
|
|
||||||
import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest";
|
import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest";
|
||||||
import { PartnerBid } from "@pages/PartnerBid/PartnerBid";
|
import { PartnerBid } from "@pages/PartnerBid/PartnerBid";
|
||||||
import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories";
|
|
||||||
import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties";
|
|
||||||
import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees";
|
|
||||||
import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate";
|
|
||||||
import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate";
|
|
||||||
import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
|
|
||||||
import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport";
|
import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport";
|
||||||
import { PassingTests } from "@pages/Quiz/PassingTests";
|
import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees";
|
||||||
import Blog from "./pages/Blog/Blog";
|
import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests";
|
||||||
import Statistics from "@pages/Statistics/Statistics";
|
import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings";
|
||||||
|
import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties";
|
||||||
|
import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories";
|
||||||
|
import { Payouts } from "@pages/Payouts/Payouts";
|
||||||
|
import { Profile } from "@pages/Profile/Profile";
|
||||||
|
import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate";
|
||||||
import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker";
|
import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker";
|
||||||
import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions";
|
import { PassingTests } from "@pages/Quiz/PassingTests";
|
||||||
import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion";
|
import { QuizPage } from "@pages/Quiz/QuizPage";
|
||||||
import Notification from "@components/Notification/Notification";
|
import { QuizReportPage } from "@pages/Quiz/QuizReportPage";
|
||||||
import { useSelector } from "react-redux";
|
import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate";
|
||||||
|
import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting";
|
||||||
|
import Statistics from "@pages/Statistics/Statistics";
|
||||||
|
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 { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen";
|
||||||
|
import Notification from "@components/Notification/Notification";
|
||||||
|
import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar";
|
||||||
|
|
||||||
import "./assets/global.scss";
|
|
||||||
import "./assets/fonts/stylesheet.css";
|
import "./assets/fonts/stylesheet.css";
|
||||||
import "bootstrap/dist/css/bootstrap.min.css";
|
import "./assets/global.scss";
|
||||||
|
import Calendar from "./components/Calendar/Calendar";
|
||||||
|
import Candidate from "./components/Candidate/Candidate";
|
||||||
|
import FreeDevelopers from "./components/FreeDevelopers/FreeDevelopers";
|
||||||
|
import ReportForm from "./components/ReportForm/ReportForm";
|
||||||
|
import Article from "./pages/Article/Article";
|
||||||
|
import Auth from "./pages/Auth/Auth";
|
||||||
|
import Blog from "./pages/Blog/Blog";
|
||||||
|
import FormPage from "./pages/FormPage/FormPage";
|
||||||
|
import Home from "./pages/Home/Home";
|
||||||
|
import SingleReportPage from "./pages/SingleReportPage/SingleReportPage";
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const notification = useSelector(getNotification)
|
const notification = useSelector(getNotification);
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Router>
|
<Router>
|
||||||
@ -65,10 +66,22 @@ const App = () => {
|
|||||||
<Route exact path="/auth" element={<Auth />} />
|
<Route exact path="/auth" element={<Auth />} />
|
||||||
<Route exact path="/tracker-intro" element={<TrackerIntro />} />
|
<Route exact path="/tracker-intro" element={<TrackerIntro />} />
|
||||||
<Route exact path="/tracker-auth" element={<TrackerAuth />} />
|
<Route exact path="/tracker-auth" element={<TrackerAuth />} />
|
||||||
<Route exact path="/tracker-registration" element={<TrackerRegistration />} />
|
<Route
|
||||||
|
exact
|
||||||
|
path="/tracker-registration"
|
||||||
|
element={<TrackerRegistration />}
|
||||||
|
/>
|
||||||
<Route exact path="/company" element={<CompanyInfo />} />
|
<Route exact path="/company" element={<CompanyInfo />} />
|
||||||
<Route exact path="/registration-setting" element={<RegistrationSetting />} />
|
<Route
|
||||||
<Route exact path="/catalog-specialists" element={<CatalogSpecialists />} />
|
exact
|
||||||
|
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
|
||||||
@ -113,10 +126,14 @@ 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 exact path="calendar/view/:date/:id" element={<ViewReport />} />
|
<Route
|
||||||
|
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 />} />
|
||||||
@ -124,7 +141,11 @@ 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 exact path="employees/report/:uuid" element={<PartnerEmployeeReport />} />
|
<Route
|
||||||
|
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 />} />
|
||||||
@ -139,7 +160,6 @@ 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>
|
||||||
@ -147,9 +167,7 @@ const App = () => {
|
|||||||
<Route path="*" element={<Navigate to="/auth" replace />} />
|
<Route path="*" element={<Navigate to="/auth" replace />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
</Router>
|
</Router>
|
||||||
{notification.show &&
|
{notification.show && <Notification />}
|
||||||
<Notification />
|
|
||||||
}
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,6 +1,6 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { getCorrectDate } from "@components/Calendar/calendarHelper";
|
import { getCorrectDate } from "@utils/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,6 +1,5 @@
|
|||||||
.calendar {
|
.calendar {
|
||||||
margin-bottom: 40px;
|
margin-bottom: 40px;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__header {
|
&__header {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -136,10 +135,6 @@
|
|||||||
line-height: normal;
|
line-height: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 2rem !important;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
@media (max-width: 575.98px) {
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
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,12 +148,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 2.5rem !important;
|
|
||||||
position: relative;
|
|
||||||
z-index: -2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 375.98px) {
|
@media (max-width: 375.98px) {
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
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,7 +18,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__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,5 +1,4 @@
|
|||||||
.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 "../../../Calendar/calendarHelper";
|
import { getCorrectDate } from "../../../../utils/calendarHelper";
|
||||||
import "./modalTicket.scss";
|
import "./modalTicket.scss";
|
||||||
|
|
||||||
registerLocale("ru", ru);
|
registerLocale("ru", ru);
|
||||||
|
@ -77,7 +77,6 @@
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #1458dd;
|
color: #1458dd;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
@ -780,7 +779,6 @@
|
|||||||
|
|
||||||
.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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -823,7 +821,6 @@
|
|||||||
.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;
|
||||||
}
|
}
|
||||||
@ -832,7 +829,6 @@
|
|||||||
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,6 +9,7 @@ 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,
|
||||||
@ -21,7 +22,6 @@ 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,7 +172,8 @@
|
|||||||
|
|
||||||
.executor {
|
.executor {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
column-gap: 5px;
|
||||||
|
align-items: center;
|
||||||
&:hover {
|
&:hover {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
@ -650,7 +651,6 @@
|
|||||||
|
|
||||||
.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,7 +694,6 @@
|
|||||||
.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;
|
||||||
}
|
}
|
||||||
@ -703,7 +702,6 @@
|
|||||||
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,7 +1,3 @@
|
|||||||
body {
|
|
||||||
font-family: "LabGrotesque", sans-serif !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px !important;
|
max-width: 1160px !important;
|
||||||
}
|
}
|
||||||
@ -9,7 +5,6 @@ body {
|
|||||||
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,11 +11,6 @@ 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,
|
||||||
@ -23,7 +18,12 @@ import {
|
|||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getReports,
|
getReports,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "@components/Calendar/calendarHelper";
|
} from "@utils/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,12 +1,15 @@
|
|||||||
.profile__calendar {
|
.profile__calendar {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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,22 +4,82 @@ 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) => {
|
||||||
@ -40,21 +100,85 @@ 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="profile-header__head">
|
<div className="auth-title">
|
||||||
<div className="profile-header__container">
|
<div className="text">
|
||||||
<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,13 +1,146 @@
|
|||||||
.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;
|
||||||
@ -15,7 +148,11 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
min-height: 50px;
|
min-height: 66px;
|
||||||
|
|
||||||
|
@media (max-width: 414px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
@ -42,10 +179,19 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
|
||||||
|
@media (max-width: 414px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__info {
|
&__logout-burger {
|
||||||
background: #ffffff;
|
background: none;
|
||||||
|
border: none;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 32px;
|
||||||
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__nav {
|
&__nav {
|
||||||
@ -69,6 +215,7 @@
|
|||||||
|
|
||||||
a.active {
|
a.active {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 800px) {
|
@media (max-width: 800px) {
|
||||||
@ -87,7 +234,10 @@
|
|||||||
&__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;
|
||||||
@ -103,6 +253,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 "../Calendar/calendarHelper";
|
} from "../../utils/calendarHelper";
|
||||||
import "./reportForm.scss";
|
import "./reportForm.scss";
|
||||||
|
|
||||||
registerLocale("ru", ru);
|
registerLocale("ru", ru);
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
.report-form {
|
.report-form {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
|
|
||||||
@ -486,7 +489,6 @@
|
|||||||
|
|
||||||
.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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -498,13 +500,11 @@
|
|||||||
.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,13 +8,14 @@ import {
|
|||||||
setSendRequest
|
setSendRequest
|
||||||
} from "@redux/reportSlice";
|
} from "@redux/reportSlice";
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCorrectDate,
|
getCorrectDate,
|
||||||
getCreatedDate,
|
getCreatedDate,
|
||||||
hourOfNum
|
hourOfNum
|
||||||
} from "@components/Calendar/calendarHelper";
|
} from "@utils/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;
|
||||||
margin: 70px 0 0 0;
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
h3 {
|
height: 80%;
|
||||||
transform: rotate(270deg);
|
z-index: 9999;
|
||||||
font-size: 25px;
|
|
||||||
line-height: 32px;
|
|
||||||
text-transform: uppercase;
|
|
||||||
color: #222222;
|
|
||||||
}
|
|
||||||
|
|
||||||
.burger {
|
|
||||||
cursor: pointer;
|
|
||||||
margin-bottom: 70px;
|
|
||||||
|
|
||||||
&__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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.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 {
|
.text {
|
||||||
margin: 0;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: column;
|
||||||
|
margin: 70px 0 0 0;
|
||||||
.burger {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
display: none;
|
transform: rotate(270deg);
|
||||||
|
font-size: 25px;
|
||||||
|
line-height: 32px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.burger {
|
||||||
|
cursor: pointer;
|
||||||
|
margin-bottom: 70px;
|
||||||
|
|
||||||
|
&__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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.outstaffing {
|
.outstaffing {
|
||||||
margin: 0;
|
transform: rotate(270deg);
|
||||||
width: 150px;
|
font-size: 18px;
|
||||||
font-size: 12px;
|
line-height: 32px;
|
||||||
transform: none;
|
width: 200px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin-right: 5px;
|
margin-right: 15px;
|
||||||
width: 15px;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1375px) {
|
||||||
|
flex-direction: row;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
|
||||||
|
.burger {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.outstaffing {
|
||||||
|
margin: 0;
|
||||||
|
width: 150px;
|
||||||
|
font-size: 12px;
|
||||||
|
transform: none;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin-right: 5px;
|
||||||
|
width: 15px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.auth-body {
|
.auth-body {
|
||||||
padding: 40px 10px;
|
padding: 40px 10px;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
transition: 0.2s ease-in-out;
|
transition: 0.2s ease-in-out;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #e1fccf;
|
background: #e1fccf;
|
||||||
width: 0;
|
width: 0;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 160px;
|
width: 160px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
&__navigation {
|
&__navigation {
|
||||||
margin-top: 28px;
|
margin-top: 28px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
font-size: 20px;
|
|
||||||
line-height: 33px;
|
|
||||||
|
|
||||||
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;
|
font-size: 20px;
|
||||||
line-height: 33px;
|
line-height: 33px;
|
||||||
}
|
|
||||||
p {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 1375px) {
|
a,
|
||||||
&__title {
|
a:hover,
|
||||||
margin-top: 35px;
|
a:active {
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__politic {
|
&__politic {
|
||||||
margin-top: 35px;
|
margin-top: 42px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 22px;
|
||||||
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__contacts {
|
&__contacts {
|
||||||
margin: 50px 0 25px 0;
|
margin-top: 127px;
|
||||||
|
color: #000000;
|
||||||
|
h4 {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 33px;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1375px) {
|
||||||
|
&__title {
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.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,15 +6,13 @@ body {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
font-family: "LabGrotesque", sans-serif !important;
|
||||||
'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 {
|
||||||
font-family: "LabGrotesque", sans-serif;
|
background-color: #f1f1f1;
|
||||||
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,5 +1,4 @@
|
|||||||
.auth-candidate {
|
.auth-candidate {
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
@ -62,8 +61,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -90,12 +90,10 @@ 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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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,6 +1,5 @@
|
|||||||
.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,10 +124,6 @@
|
|||||||
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,9 +2,7 @@
|
|||||||
|
|
||||||
.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,8 +1,6 @@
|
|||||||
.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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
max-width: 1160px;
|
max-width: 1160px;
|
||||||
@ -314,10 +314,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,11 +1,14 @@
|
|||||||
.partner-bid {
|
.partner-bid {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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) {
|
||||||
@ -536,8 +539,4 @@
|
|||||||
background: #52b709;
|
background: #52b709;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 70px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,10 @@ 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,10 +1,14 @@
|
|||||||
.employee-report {
|
.employee-report {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -168,14 +168,13 @@
|
|||||||
|
|
||||||
.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,11 +1,14 @@
|
|||||||
.partner-requests {
|
.partner-requests {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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) {
|
||||||
@ -352,8 +355,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 70px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.settings {
|
.settings {
|
||||||
background: #f1f1f1;
|
display: flex;
|
||||||
height: 100%;
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
background: #f1f1f1;
|
||||||
|
|
||||||
.info-personal__title {
|
.info-personal__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -12,7 +12,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&__page {
|
&__page {
|
||||||
min-height: 750px;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
max-width: 1160px !important;
|
max-width: 1160px !important;
|
||||||
margin-top: 23px;
|
margin-top: 23px;
|
||||||
}
|
}
|
||||||
@ -129,7 +131,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.partner-settings {
|
.partner-settings {
|
||||||
margin-bottom: 110px;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
&__body {
|
&__body {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
.treaties {
|
.treaties {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -379,14 +379,13 @@
|
|||||||
|
|
||||||
.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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
@ -145,14 +145,13 @@
|
|||||||
|
|
||||||
.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,13 +1,18 @@
|
|||||||
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>
|
||||||
);
|
);
|
||||||
};
|
};
|
13
src/pages/Payouts/payouts.scss
Normal file
13
src/pages/Payouts/payouts.scss
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
.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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__title {
|
&__title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -48,92 +48,17 @@
|
|||||||
@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,166 +1,160 @@
|
|||||||
.profile-candidate{
|
.profile-candidate {
|
||||||
background: #F1F1F1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
min-height: 100vh;
|
flex-direction: column;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
min-height: 100vh;
|
||||||
display: flex;
|
&__container {
|
||||||
flex-direction: column;
|
max-width: 1160px;
|
||||||
//max-width: 1200px;
|
display: flex;
|
||||||
&__container{
|
flex-direction: column;
|
||||||
max-width: 1160px;
|
margin: 0 auto 42px auto;
|
||||||
margin: 0 auto 42px auto;
|
flex: 1 1 auto;
|
||||||
flex: 1 1 auto;
|
padding: 0 15px;
|
||||||
padding: 0 15px;
|
}
|
||||||
}
|
&__title {
|
||||||
&__title{
|
margin: 0 0 31px 0;
|
||||||
margin: 0 0 31px 0;
|
}
|
||||||
}
|
&__row {
|
||||||
&__row{
|
display: flex;
|
||||||
display: flex;
|
gap: 30px;
|
||||||
gap: 30px;
|
flex-wrap: wrap;
|
||||||
flex-wrap: wrap;
|
}
|
||||||
}
|
// &__column{
|
||||||
// &__column{
|
// flex: 1 1 60%;
|
||||||
// flex: 1 1 60%;
|
// }
|
||||||
// }
|
&__tests {
|
||||||
&__tests{
|
display: flex;
|
||||||
display: flex;
|
flex-wrap: wrap;
|
||||||
flex-wrap: wrap;
|
justify-content: space-between;
|
||||||
justify-content: space-between;
|
flex: 1 1 60%;
|
||||||
flex: 1 1 60%;
|
gap: 30px;
|
||||||
gap: 30px;
|
}
|
||||||
}
|
&__cards {
|
||||||
&__cards{
|
display: flex;
|
||||||
display: flex;
|
gap: 29px;
|
||||||
gap: 29px;
|
width: 100%;
|
||||||
width: 100%;
|
@media (max-width: 660px) {
|
||||||
@media (max-width: 660px) {
|
flex-wrap: wrap;
|
||||||
flex-wrap: wrap;
|
}
|
||||||
}
|
}
|
||||||
}
|
&__head-bottom {
|
||||||
&__head-bottom{
|
margin: 0 0 27px 0;
|
||||||
margin: 0 0 27px 0;
|
//max-width: 1160px;
|
||||||
//max-width: 1160px;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.instructions-candidate {
|
||||||
.instructions-candidate{
|
flex: 1 1 auto;
|
||||||
flex: 1 1 auto;
|
background: #ffffff;
|
||||||
background: #FFFFFF;
|
border-radius: 12px;
|
||||||
border-radius: 12px;
|
&__container {
|
||||||
&__container{
|
padding: 40px 18px 32px 36px;
|
||||||
padding: 40px 18px 32px 36px;
|
display: flex;
|
||||||
display: flex;
|
flex-direction: column;
|
||||||
flex-direction: column;
|
gap: 29px;
|
||||||
gap: 29px;
|
@media (max-width: 660px) {
|
||||||
@media (max-width: 660px) {
|
padding: 20px;
|
||||||
padding: 20px;
|
}
|
||||||
}
|
}
|
||||||
}
|
&__note {
|
||||||
&__note{
|
display: flex;
|
||||||
display: flex;
|
align-items: center;
|
||||||
align-items: center;
|
gap: 22px;
|
||||||
gap: 22px;
|
&:not(:last-child) {
|
||||||
&:not(:last-child){
|
margin: 0 0 30px 0;
|
||||||
margin: 0 0 30px 0;
|
}
|
||||||
}
|
}
|
||||||
|
&__icon {
|
||||||
}
|
width: 25px;
|
||||||
&__icon{
|
height: 30px;
|
||||||
width: 25px;
|
}
|
||||||
height: 30px;
|
&__title {
|
||||||
}
|
color: #52b709;
|
||||||
&__title{
|
font-weight: 900;
|
||||||
color: #52B709;
|
font-size: 14px;
|
||||||
font-weight: 900;
|
line-height: 171%;
|
||||||
font-size: 14px;
|
margin: 0 0 20px 0;
|
||||||
line-height: 171%;
|
}
|
||||||
margin: 0 0 20px 0;
|
&__text {
|
||||||
}
|
font-weight: 400;
|
||||||
&__text{
|
font-size: 12px;
|
||||||
font-weight: 400;
|
line-height: 200%;
|
||||||
font-size: 12px;
|
color: #000000;
|
||||||
line-height: 200%;
|
max-width: 235px;
|
||||||
color: #000000;
|
span {
|
||||||
max-width: 235px;
|
color: #406128;
|
||||||
span{
|
font-weight: 700;
|
||||||
color: #406128;
|
text-decoration: underline;
|
||||||
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 {
|
||||||
max-width: 1160px;
|
margin: 0 auto;
|
||||||
margin: 0 auto;
|
padding: 0 15px;
|
||||||
padding: 0 15px;
|
height: 100%;
|
||||||
height: 100%;
|
display: flex;
|
||||||
display: flex;
|
justify-content: space-between;
|
||||||
justify-content: space-between;
|
align-items: center;
|
||||||
align-items: center;
|
}
|
||||||
}
|
&__img {
|
||||||
&__img{
|
flex: 0 0 37px;
|
||||||
flex: 0 0 37px;
|
height: 37px;
|
||||||
height: 37px;
|
img {
|
||||||
img{
|
width: 100%;
|
||||||
width: 100%;
|
height: 100%;
|
||||||
height: 100%;
|
object-fit: cover;
|
||||||
object-fit: cover;
|
border-radius: 50%;
|
||||||
border-radius: 50%;
|
}
|
||||||
}
|
}
|
||||||
}
|
&__title {
|
||||||
&__title{
|
font-weight: 500;
|
||||||
font-weight: 500;
|
font-size: 18px;
|
||||||
font-size: 18px;
|
line-height: 178%;
|
||||||
line-height: 178%;
|
color: #807777;
|
||||||
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 "../../components/Calendar/calendarHelper";
|
import { getCorrectDate } from "../../utils/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,9 +64,7 @@
|
|||||||
|
|
||||||
.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;
|
||||||
|
|
||||||
@ -80,6 +78,7 @@
|
|||||||
|
|
||||||
&__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%;
|
||||||
@ -96,14 +95,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%;
|
||||||
@ -136,14 +135,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,5 +1,4 @@
|
|||||||
.registration-candidate {
|
.registration-candidate {
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
|
|
||||||
@ -188,8 +187,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 80px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -212,8 +212,8 @@ export const RegistrationSetting = () => {
|
|||||||
</button>
|
</button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
@ -1,6 +1,5 @@
|
|||||||
.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,6 +6,7 @@ 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";
|
||||||
@ -71,133 +72,137 @@ const Statistics = () => {
|
|||||||
/>
|
/>
|
||||||
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
<h2 className="tracker__title">Управление проектами с трекером</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="tracker__tabs">
|
||||||
<div className="tracker__tabs">
|
<div className="tracker__tabs__head">
|
||||||
<div className="tracker__tabs__head">
|
<Link
|
||||||
<Link
|
to="/profile/tracker"
|
||||||
to="/profile/tracker"
|
className="tab active-tab"
|
||||||
className="tab active-tab"
|
onClick={() => toggleTabs(1)}
|
||||||
onClick={() => toggleTabs(1)}
|
>
|
||||||
>
|
<img src={project} alt="img" />
|
||||||
<img src={project} alt="img" />
|
<p>Проекты </p>
|
||||||
<p>Проекты </p>
|
</Link>
|
||||||
</Link>
|
<Link
|
||||||
<Link
|
to="/profile/tracker"
|
||||||
to="/profile/tracker"
|
className="tab"
|
||||||
className="tab"
|
onClick={() => toggleTabs(2)}
|
||||||
onClick={() => toggleTabs(2)}
|
>
|
||||||
>
|
<img src={tasks} alt="img" />
|
||||||
<img src={tasks} alt="img" />
|
<p>Все мои задачи</p>
|
||||||
<p>Все мои задачи</p>
|
</Link>
|
||||||
</Link>
|
<Link
|
||||||
<Link
|
to="/profile/tracker"
|
||||||
to="/profile/tracker"
|
className="tab"
|
||||||
className="tab"
|
onClick={() => toggleTabs(3)}
|
||||||
onClick={() => toggleTabs(3)}
|
>
|
||||||
>
|
<img src={archive} alt="img" />
|
||||||
<img src={archive} alt="img" />
|
<p>Архив</p>
|
||||||
<p>Архив</p>
|
</Link>
|
||||||
</Link>
|
</div>
|
||||||
</div>
|
<div className="tracker__tabs__content">
|
||||||
<div className="tracker__tabs__content">
|
<div className="tracker__tabs__content__wrapper statistics-body">
|
||||||
<div className="tracker__tabs__content__wrapper statistics-body">
|
<div className="statistics-header">
|
||||||
<div className="statistics-header">
|
<div className="statistics-header__menu">
|
||||||
<div className="statistics-header__menu">
|
<h1>Статистика проекта</h1>
|
||||||
<h1>Статистика проекта</h1>
|
<img src={link} alt="#" />
|
||||||
<img src={link} alt="#" />
|
<span
|
||||||
<span className="return-text" onClick={copyProjectLink("62")}>
|
className="return-text"
|
||||||
ссылка на проект
|
onClick={() => copyProjectLink("62")}
|
||||||
</span>
|
>
|
||||||
</div>
|
ссылка на проект
|
||||||
|
</span>
|
||||||
<div className="statistics-header__return">
|
|
||||||
<img src={arrow} alt="#" />
|
|
||||||
|
|
||||||
<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="list-team">
|
|
||||||
<div className="list-team__title">
|
|
||||||
<span className="return-text">Участники проекта:</span>
|
|
||||||
</div>
|
|
||||||
<div className="list-team__head">
|
|
||||||
<p>Имя</p>
|
|
||||||
<p>Почта</p>
|
|
||||||
<p>Роль</p>
|
|
||||||
<p>Статус</p>
|
|
||||||
</div>
|
|
||||||
<div className="list-team__body">
|
|
||||||
{teams.map((item) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<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>
|
<div className="statistics-header__return">
|
||||||
{/* <span className="status status-active"> */}
|
<img src={arrow} alt="#" />
|
||||||
|
|
||||||
<span
|
<Link to={`/profile/tracker`} className="return-text">
|
||||||
className={
|
К списку проектов
|
||||||
item.status
|
</Link>
|
||||||
? "status status-active"
|
|
||||||
: "status status-none"
|
|
||||||
}
|
|
||||||
>
|
|
||||||
{item.status ? "Активно" : "Не активно"}
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="add-person">
|
</div>
|
||||||
<span className="add-person__button">+</span>
|
<div className="statistics-info">
|
||||||
<p>Добавить участника</p>
|
<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 className="list-team">
|
||||||
|
<div className="list-team__title">
|
||||||
|
<span className="return-text">Участники проекта:</span>
|
||||||
|
</div>
|
||||||
|
<div className="list-team__head">
|
||||||
|
<p>Имя</p>
|
||||||
|
<p>Почта</p>
|
||||||
|
<p>Роль</p>
|
||||||
|
<p>Статус</p>
|
||||||
|
</div>
|
||||||
|
<div className="list-team__body">
|
||||||
|
{teams.map((item) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<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>
|
||||||
|
<div className="add-person">
|
||||||
|
<span className="add-person__button">+</span>
|
||||||
|
<p>Добавить участника</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
.statistics {
|
.statistics {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
position: relative;
|
.container {
|
||||||
|
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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -509,12 +509,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
@ -18,14 +18,6 @@
|
|||||||
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;
|
||||||
@ -34,9 +26,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,10 +1,16 @@
|
|||||||
.tracker-auth {
|
.tracker-auth {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
font-family: "LabGrotesque", sans-serif;
|
display: flex;
|
||||||
background-color: #f1f1f1;
|
flex-direction: column;
|
||||||
|
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;
|
||||||
@ -25,7 +31,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,7 +1,6 @@
|
|||||||
.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,6 +1,5 @@
|
|||||||
.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,13 +4,14 @@ 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 "@components/Calendar/calendarHelper";
|
} from "@utils/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";
|
||||||
@ -269,8 +270,8 @@ export const ViewReport = () => {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<Footer />
|
|
||||||
</div>
|
</div>
|
||||||
|
<Footer />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
.view-report {
|
.view-report {
|
||||||
background: #f1f1f1;
|
background: #f1f1f1;
|
||||||
height: 100%;
|
display: flex;
|
||||||
|
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) {
|
||||||
@ -424,12 +427,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
|
||||||
margin-top: 70px;
|
|
||||||
|
|
||||||
@media (max-width: 575px) {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,34 +2,33 @@ 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