Added prettier format imports

This commit is contained in:
MaxOvs19 2023-05-31 08:36:15 +03:00
parent fe656c0360
commit fc8fc33733
91 changed files with 1712 additions and 1509 deletions

7
.prettierignore Normal file
View File

@ -0,0 +1,7 @@
node_modules
config
public
*-lock.json
App.js

View File

@ -2,5 +2,18 @@
"tabWidth": 2,
"semi": true,
"printWidth": 80,
"useTabs": false
"useTabs": false,
"importOrder": [
"^@react/(.*)$",
"^@redux/(.*)$",
"^@utils/(.*)$",
"^@api/(.*)$",
"^@hooks/(.*)$",
"^@pages/(.*)$",
"^@components/(.*)$",
"^assets/(.*)$",
"^[./]"
],
"importOrderSeparation": true,
"importOrderSortSpecifiers": true
}

103
package-lock.json generated
View File

@ -53,6 +53,7 @@
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"babel-loader": "^9.1.2",
"copy-webpack-plugin": "^10.2.0",
"cross-env": "^7.0.3",
@ -5044,6 +5045,86 @@
"node": ">= 10"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.1.1.tgz",
"integrity": "sha512-dQ2r2uzNr1x6pJsuh/8x0IRA3CBUB+pWEW3J/7N98axqt7SQSm+2fy0FLNXvXGg77xEDC7KHxJlHfLYyi7PDcw==",
"dev": true,
"dependencies": {
"@babel/generator": "7.17.7",
"@babel/parser": "^7.20.5",
"@babel/traverse": "7.17.3",
"@babel/types": "7.17.0",
"javascript-natural-sort": "0.7.1",
"lodash": "^4.17.21"
},
"peerDependencies": {
"@vue/compiler-sfc": "3.x",
"prettier": "2.x"
},
"peerDependenciesMeta": {
"@vue/compiler-sfc": {
"optional": true
}
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/generator": {
"version": "7.17.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
"integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
"dev": true,
"dependencies": {
"@babel/types": "^7.17.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse": {
"version": "7.17.3",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz",
"integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.17.3",
"@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-function-name": "^7.16.7",
"@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.7",
"@babel/parser": "^7.17.3",
"@babel/types": "^7.17.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/types": {
"version": "7.17.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
"integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
"dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/@trysound/sax": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@ -12844,6 +12925,12 @@
"node": ">=8"
}
},
"node_modules/javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
"integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==",
"dev": true
},
"node_modules/jest": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz",
@ -19727,6 +19814,22 @@
"node": ">= 0.8.0"
}
},
"node_modules/prettier": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"dev": true,
"peer": true,
"bin": {
"prettier": "bin-prettier.js"
},
"engines": {
"node": ">=10.13.0"
},
"funding": {
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pretty-bytes": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",

View File

@ -49,6 +49,7 @@
"@babel/core": "^7.20.12",
"@babel/preset-env": "^7.20.2",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"babel-loader": "^9.1.2",
"copy-webpack-plugin": "^10.2.0",
"cross-env": "^7.0.3",
@ -76,7 +77,8 @@
"scripts": {
"build": "cross-env SERVE=true webpack -c config/webpack/prod.js",
"start": "webpack serve -c config/webpack/dev.js",
"analyze": "webpack --analyze -c config/webpack/analyze.js"
"analyze": "webpack --analyze -c config/webpack/analyze.js",
"format": "prettier --write \"./**/*.{js,jsx}\""
},
"eslintConfig": {
"extends": [

View File

@ -1,6 +1,5 @@
module.exports = {
'postcss-preset-env': {
browsers: 'last 2 versions',
"postcss-preset-env": {
browsers: "last 2 versions",
},
};

View File

@ -1,5 +1,5 @@
import axios from 'axios';
import axios from "axios";
export default axios.create({
baseURL: process.env.REACT_APP_API_URL
baseURL: process.env.REACT_APP_API_URL,
});

View File

@ -1,4 +1,5 @@
import axios from "axios";
import { getToken, urlHasParams } from "@utils/helper";
const instance = axios.create({

View File

@ -1,16 +1,17 @@
import React, { useEffect, useRef, useState } from "react";
import { useNavigate } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { auth, selectAuth, setUserInfo } from "@redux/outstaffingSlice";
import { loading, selectIsLoading } from "@redux/loaderSlice";
import { auth, selectAuth, setUserInfo } from "@redux/outstaffingSlice";
import { setRole } from "@redux/roleSlice";
import ModalRegistration from "@components/Modal/ModalRegistration/ModalRegistration";
import ModalErrorLogin from "@components/Modal/ModalErrorLogin/ModalErrorLogin";
import { Loader } from "@components/Common/Loader/Loader";
import { apiRequest } from "@api/request";
import { Loader } from "@components/Common/Loader/Loader";
import ModalErrorLogin from "@components/Modal/ModalErrorLogin/ModalErrorLogin";
import ModalRegistration from "@components/Modal/ModalRegistration/ModalRegistration";
import ellipse from "assets/icons/ellipse.png";
import "./authBox.scss";

View File

@ -2,16 +2,18 @@ import React, { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { Link, Navigate, useNavigate } from "react-router-dom";
import CalendarComponent from "./CalendarComponent";
import { currentMonth } from "./calendarHelper";
import { selectCurrentCandidate } from "@redux/outstaffingSlice";
import { urlForLocal } from "@utils/helper";
import { Footer } from "@components/Common/Footer/Footer";
import { LogoutButton } from "@components/LogoutButton/LogoutButton";
import { urlForLocal } from "@utils/helper";
import { selectCurrentCandidate } from "@redux/outstaffingSlice";
import rectangle from "assets/images/rectangle_secondPage.png";
import CalendarComponent from "./CalendarComponent";
import "./calendar.scss";
import { currentMonth } from "./calendarHelper";
const Calendar = () => {
if (localStorage.getItem("role_status") !== "18") {

View File

@ -1,15 +1,13 @@
import React, { useState, useEffect } from "react";
import { calendarHelper, currentMonthAndDay } from "./calendarHelper";
import moment from "moment";
import "moment/locale/ru";
import React, { useEffect, useState } from "react";
import calendarIcon from "assets/icons/calendar.svg";
import ellipse from "assets/icons/ellipse.png";
import rectangle from "assets/images/rectangle__calendar.png";
import calendarIcon from "assets/icons/calendar.svg";
import moment from "moment";
import "moment/locale/ru";
import "./calendarComponent.scss";
import { calendarHelper, currentMonthAndDay } from "./calendarHelper";
const CalendarComponent = ({ onSelect }) => {
const [value, setValue] = useState(moment());

View File

@ -1,29 +1,30 @@
import React, { useEffect, useState } from "react";
import { useParams, Link, useNavigate, Navigate } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux";
import SkillSection from "@components/SkillSection/SkillSection";
import Sidebar from "@components/CandidateSidebar/CandidateSidebar";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { useDispatch, useSelector } from "react-redux";
import { Link, Navigate, useNavigate, useParams } from "react-router-dom";
import {
currentCandidate,
selectCurrentCandidate,
} from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import { createMarkup } from "@utils/helper";
import { LEVELS, SKILLS } from "@utils/constants";
import { createMarkup } from "@utils/helper";
import { apiRequest } from "@api/request";
import Sidebar from "@components/CandidateSidebar/CandidateSidebar";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import SkillSection from "@components/SkillSection/SkillSection";
import rightArrow from "assets/icons/arrows/arrowRight.svg";
import gitImgItem from "assets/icons/gitItemImg.svg";
import rectangle from "assets/images/rectangle_secondPage.png";
import front from "assets/images/partnerProfile/front-end.webp";
import back from "assets/images/partnerProfile/back-end.webp";
import design from "assets/images/partnerProfile/design.webp";
import rightArrow from "assets/icons/arrows/arrowRight.svg";
import front from "assets/images/partnerProfile/front-end.webp";
import rectangle from "assets/images/rectangle_secondPage.png";
import "./candidate.scss";

View File

@ -1,11 +1,11 @@
import React, { useState } from "react";
import { LEVELS, SKILLS } from "@utils/constants";
import { urlForLocal } from "@utils/helper";
import { Achievement } from "@components/Achievement/Achievement";
import ModalAspirant from "@components/Modal/ModalAspirant/ModalAspirant";
import { urlForLocal } from "@utils/helper";
import { LEVELS, SKILLS } from "@utils/constants";
import "./candidateSidebar.scss";
const getYearsString = (years) => {

View File

@ -1,9 +1,9 @@
import React from "react";
import logo from "assets/images/logo/LogoITguild.svg";
import vk from "assets/icons/vkLogo.svg";
import tg from "assets/icons/tgFooter.svg";
import email from "assets/icons/emailLogo.svg";
import tg from "assets/icons/tgFooter.svg";
import vk from "assets/icons/vkLogo.svg";
import logo from "assets/images/logo/LogoITguild.svg";
import "./footer.scss";

View File

@ -2,15 +2,15 @@ import React from "react";
import { useSelector } from "react-redux";
import { Link } from "react-router-dom";
import ErrorBoundary from "../../hoc/ErrorBoundary";
import { selectProfiles } from "@redux/outstaffingSlice";
import { LEVELS, SKILLS } from "@utils/constants";
import { urlForLocal } from "@utils/helper";
import { selectProfiles } from "@redux/outstaffingSlice";
import rectangle from "assets/images/rectangle_secondPage.png";
import cursorImg from "assets/icons/cursorImg.svg";
import rectangle from "assets/images/rectangle_secondPage.png";
import ErrorBoundary from "../../hoc/ErrorBoundary";
import "./description.scss";
const Description = ({ onLoadMore, isLoadingMore }) => {

View File

@ -1,13 +1,14 @@
import React, { useEffect, useState } from "react";
import { useParams, useNavigate } from "react-router-dom";
import PhoneInput from "react-phone-input-2";
import { apiRequest } from "@api/request";
import { Loader } from "@components/Common/Loader/Loader";
import "react-phone-input-2/lib/style.css";
import { useNavigate, useParams } from "react-router-dom";
import Swal from "sweetalert2";
import withReactContent from "sweetalert2-react-content";
import "react-phone-input-2/lib/style.css";
import { apiRequest } from "@api/request";
import { Loader } from "@components/Common/Loader/Loader";
import "./form.scss";
const SweetAlert = withReactContent(Swal);

View File

@ -4,13 +4,13 @@ import { Link } from "react-router-dom";
import { scrollToForm } from "@utils/helper";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import SideBar from "@components/SideBar/SideBar";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import SideBar from "@components/SideBar/SideBar";
import mockWorker from "assets/images/mock/mokPerson.png";
import arrow from "assets/icons/arrows/arrow_left.png";
import mockWorker from "assets/images/mock/mokPerson.png";
import "./freeDevelopers.scss";

View File

@ -1,10 +1,12 @@
import React, { useState } from "react";
import { useNavigate } from "react-router-dom";
import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { getRole } from "@redux/roleSlice";
import { useLogout } from "@hooks/useLogout";
import { Loader } from "@components/Common/Loader/Loader";
import { getRole } from "@redux/roleSlice";
import "./logoutButton.scss";

View File

@ -1,13 +1,13 @@
import React, { useState } from "react";
import { Link } from "react-router-dom";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import avatar from "assets/images/mock/mokPerson.png";
import logoTg from "assets/icons/tgLogo.svg";
import arrow from "assets/icons/arrows/left-arrow.png";
import logoTg from "assets/icons/tgLogo.svg";
import interview from "assets/images/logo/interviewLogo.svg";
import avatar from "assets/images/mock/mokPerson.png";
import "./modalAspirant.scss";

View File

@ -1,7 +1,7 @@
import React from "react";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import "./modalErrorLogin.scss";

View File

@ -1,11 +1,11 @@
import React from "react";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import telegramLogo from "assets/icons/tgLogo.svg";
import doc from "assets/icons/doc.svg";
import anyMoment from "assets/icons/anyMoment.svg";
import doc from "assets/icons/doc.svg";
import telegramLogo from "assets/icons/tgLogo.svg";
import "./modalRegistration.scss";

View File

@ -1,28 +1,30 @@
import React, { useEffect, useState } from "react";
import { Link } from "react-router-dom";
import { useDispatch } from "react-redux";
import { Link } from "react-router-dom";
import { modalToggle, setProjectBoardFetch } from "@redux/projectsTrackerSlice";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import { modalToggle, setProjectBoardFetch } from "@redux/projectsTrackerSlice";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import category from "assets/icons/category.svg";
import watch from "assets/icons/watch.svg";
import file from "assets/icons/fileModal.svg";
import arrow from "assets/icons/arrows/arrowStart.png";
import link from "assets/icons/link.svg";
import archive from "assets/icons/archive.svg";
import arrow from "assets/icons/arrows/arrowStart.png";
import fullScreen from "assets/icons/arrows/inFullScreen.svg";
import category from "assets/icons/category.svg";
import close from "assets/icons/closeProjectPersons.svg";
import del from "assets/icons/delete.svg";
import edit from "assets/icons/edit.svg";
import send from "assets/icons/send.svg";
import file from "assets/icons/fileModal.svg";
import link from "assets/icons/link.svg";
import plus from "assets/icons/plus.svg";
import fullScreen from "assets/icons/arrows/inFullScreen.svg";
import close from "assets/icons/closeProjectPersons.svg";
import send from "assets/icons/send.svg";
import watch from "assets/icons/watch.svg";
import "./ModalTicket.scss";

View File

@ -1,42 +1,44 @@
import React, { useEffect, useState } from "react";
import { Link, useParams, useNavigate } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import { Navigation } from "@components/Navigation/Navigation";
import { Loader } from "@components/Common/Loader/Loader";
import { Link, useNavigate, useParams } from "react-router-dom";
import {
deletePersonOnProject,
getBoarderLoader,
getProjectBoard,
modalToggle,
setProjectBoardFetch,
setToggleTab,
getProjectBoard,
getBoarderLoader,
} from "@redux/projectsTrackerSlice";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import project from "assets/icons/trackerProject.svg";
import watch from "assets/icons/watch.svg";
import file from "assets/icons/fileModal.svg";
import send from "assets/icons/send.svg";
import arrow2 from "assets/icons/arrows/arrowStart.png";
import plus from "assets/icons/plus.svg";
import tasks from "assets/icons/trackerTasks.svg";
import archive from "assets/icons/archiveTracker.svg";
import selectArrow from "assets/icons/arrows/select.svg";
import arrow from "assets/icons/arrows/arrowCalendar.png";
import link from "assets/icons/link.svg";
import { apiRequest } from "@api/request";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import archive2 from "assets/icons/archive.svg";
import archive from "assets/icons/archiveTracker.svg";
import arrow from "assets/icons/arrows/arrowCalendar.png";
import arrow2 from "assets/icons/arrows/arrowStart.png";
import selectArrow from "assets/icons/arrows/select.svg";
import close from "assets/icons/closeProjectPersons.svg";
import del from "assets/icons/delete.svg";
import edit from "assets/icons/edit.svg";
import close from "assets/icons/closeProjectPersons.svg";
import file from "assets/icons/fileModal.svg";
import link from "assets/icons/link.svg";
import plus from "assets/icons/plus.svg";
import send from "assets/icons/send.svg";
import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
import watch from "assets/icons/watch.svg";
import "./ticketFullScreen.scss";

View File

@ -1,21 +1,23 @@
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import {
setColumnName,
addPersonToProject,
editColumnName,
editProjectName,
getColumnId,
getColumnName,
getProjectBoard,
getValueModalType,
setColumnName,
setProject,
setProjectBoardFetch,
editProjectName,
editColumnName,
getColumnName,
getColumnId,
addPersonToProject,
} from "@redux/projectsTrackerSlice";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import arrowDown from "assets/icons/arrows/selectArrow.png";
import "./trackerModal.scss";

View File

@ -1,10 +1,12 @@
import React, { useEffect, useState } from "react";
import { NavLink } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { NavLink } from "react-router-dom";
import { getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
import avatarMok from "assets/images/avatarMok.png";

View File

@ -1,18 +1,18 @@
import React from "react";
import { useSelector, useDispatch } from "react-redux";
import { useDispatch, useSelector } from "react-redux";
import {
getPositionId,
selectTags,
setPositionId,
} from "@redux/outstaffingSlice";
import OutstaffingBlock from "@components/OutstaffingBlock/OutstaffingBlock";
import TagSelect from "@components/Select/TagSelect";
import {
selectTags,
getPositionId,
setPositionId,
} from "@redux/outstaffingSlice";
import front from "assets/images/partnerProfile/front-end.webp";
import back from "assets/images/partnerProfile/back-end.webp";
import design from "assets/images/partnerProfile/design.webp";
import front from "assets/images/partnerProfile/front-end.webp";
import "./outstaffing.scss";

View File

@ -2,7 +2,8 @@ import React from "react";
import OutsideClickHandler from "react-outside-click-handler";
import { useDispatch, useSelector } from "react-redux";
import { selectItems, selectedItems, profiles } from "@redux/outstaffingSlice";
import { profiles, selectItems, selectedItems } from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import "./outstaffingBlock.scss";

View File

@ -1,26 +1,28 @@
import moment from "moment";
import "moment/locale/ru";
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { Link, Navigate } from "react-router-dom";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { getProfileInfo } from "@redux/outstaffingSlice";
import {
getRequestDates,
setReportDate,
setRequestDate,
} from "@redux/reportSlice";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { getReports } from "@components/Calendar/calendarHelper";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileCalendarComponent } from "./ProfileCalendarComponent";
import { Loader } from "@components/Common/Loader/Loader";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import moment from "moment";
import "moment/locale/ru";
import "./profileCalendar.scss";
export const ProfileCalendar = () => {

View File

@ -1,4 +1,6 @@
import React, { useState, useEffect } from "react";
import moment from "moment";
import "moment/locale/ru";
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Link } from "react-router-dom";
@ -7,6 +9,8 @@ import {
setRequestDate,
setSendRequest,
} from "@redux/reportSlice";
import "@components/Calendar/calendarComponent.scss";
import {
calendarHelper,
currentMonthAndDay,
@ -16,13 +20,8 @@ import {
import ShortReport from "@components/ShortReport/ShortReport";
import arrow from "assets/icons/arrows/arrowCalendar.png";
import rectangle from "assets/images/rectangle__calendar.png";
import calendarIcon from "assets/icons/calendar.svg";
import moment from "moment";
import "moment/locale/ru";
import "@components/Calendar/calendarComponent.scss";
import rectangle from "assets/images/rectangle__calendar.png";
export const ProfileCalendarComponent = React.memo(
({ value, setValueHandler, reports, totalHours }) => {

View File

@ -1,12 +1,14 @@
import React, { useEffect, useState } from "react";
import { useNavigate, NavLink } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { NavLink, useNavigate } from "react-router-dom";
import { Loader } from "@components/Common/Loader/Loader";
import { apiRequest } from "@api/request";
import { auth, setProfileInfo } from "@redux/outstaffingSlice";
import { getRole } from "@redux/roleSlice";
import { apiRequest } from "@api/request";
import { Loader } from "@components/Common/Loader/Loader";
import "./profileHeader.scss";
export const ProfileHeader = () => {

View File

@ -2,16 +2,17 @@ import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Link } from "react-router-dom";
import { apiRequest } from "@api/request";
import { deleteProject, modalToggle } from "@redux/projectsTrackerSlice";
import { apiRequest } from "@api/request";
import { ModalSelect } from "@components/Modal/ModalSelect/ModalSelect";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import link from "assets/icons/link.svg";
import archiveSet from "assets/icons/archive.svg";
import del from "assets/icons/delete.svg";
import edit from "assets/icons/edit.svg";
import link from "assets/icons/link.svg";
import "./projectTiket.scss";

View File

@ -1,6 +1,6 @@
import React from "react";
import { useSelector } from "react-redux";
import { Route, Redirect } from "react-router-dom";
import { Redirect, Route } from "react-router-dom";
import { selectAuth } from "@redux/outstaffingSlice";

View File

@ -1,31 +1,33 @@
import React, { useState, useEffect } from "react";
import ru from "date-fns/locale/ru";
import React, { useEffect, useState } from "react";
import DatePicker, { registerLocale } from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import { useSelector } from "react-redux";
import { Link, Navigate, useNavigate } from "react-router-dom";
import DatePicker, { registerLocale } from "react-datepicker";
import { getReportDate } from "@redux/reportSlice";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import arrow from "assets/icons/arrows/left-arrow.png";
import calendarIcon from "assets/icons/calendar.svg";
import ellipse from "assets/icons/ellipse.png";
import remove from "assets/icons/remove.svg";
import {
getCorrectDate,
getCreatedDate,
hourOfNum,
} from "../Calendar/calendarHelper";
import ru from "date-fns/locale/ru";
registerLocale("ru", ru);
import { Loader } from "@components/Common/Loader/Loader";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { apiRequest } from "@api/request";
import { Navigation } from "@components/Navigation/Navigation";
import { getReportDate } from "@redux/reportSlice";
import calendarIcon from "assets/icons/calendar.svg";
import ellipse from "assets/icons/ellipse.png";
import remove from "assets/icons/remove.svg";
import arrow from "assets/icons/arrows/left-arrow.png";
import "./reportForm.scss";
import "react-datepicker/dist/react-datepicker.css";
registerLocale("ru", ru);
const ReportForm = () => {
if (localStorage.getItem("role_status") === "18") {

View File

@ -1,17 +1,19 @@
import React, { useState } from "react";
import { useSelector, useDispatch } from "react-redux";
import { useDispatch, useSelector } from "react-redux";
import Select from "react-select";
import { Loader } from "@components/Common/Loader/Loader";
import { apiRequest } from "@api/request";
import {
selectedItems,
profiles,
selectItems,
selectTags,
profiles,
selectedItems,
setPositionId,
} from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import { Loader } from "@components/Common/Loader/Loader";
import "./tagSelect.scss";
const TagSelect = () => {

View File

@ -2,17 +2,19 @@ import React, { useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { apiRequest } from "@api/request";
import {
getCorrectDate,
getCreatedDate,
hourOfNum,
} from "@components/Calendar/calendarHelper";
import {
getReportDate,
getSendRequest,
setSendRequest,
} from "@redux/reportSlice";
import { apiRequest } from "@api/request";
import {
getCorrectDate,
getCreatedDate,
hourOfNum,
} from "@components/Calendar/calendarHelper";
import { Loader } from "@components/Common/Loader/Loader";
import "./shortReport.scss";

View File

@ -1,14 +1,14 @@
import React, { useState } from "react";
import Slider from "react-slick";
import { Link } from "react-router-dom";
import Slider from "react-slick";
import "slick-carousel/slick/slick-theme.css";
import "slick-carousel/slick/slick.css";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import mockWorker from "assets/images/mock/mokPerson.png";
import "./sliderWorkers.scss";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
export const SliderWorkers = ({ title, titleInfo, subTitle }) => {
const [workers] = useState([

View File

@ -1,7 +1,8 @@
import { Link } from "react-router-dom";
import { useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { selectUserInfo, selectedTest } from "@redux/quizSlice";
import { selectedTest, selectUserInfo } from "@redux/quizSlice";
import { urlForLocal } from "@utils/helper";
import "./quiz.scss";

View File

@ -2,9 +2,11 @@ import React, { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { selectUserInfo, setUserInfo } from "@redux/quizSlice";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import "./quiz.scss";
export const HeaderQuiz = ({ header }) => {

View File

@ -1,9 +1,10 @@
import { Link } from "react-router-dom";
import { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { selectedTest } from "@redux/quizSlice";
import { apiRequest } from "@api/request";
import { selectedTest } from "@redux/quizSlice";
import comment from "assets/icons/comment.jpg";

View File

@ -1,7 +1,8 @@
import { Link } from "react-router-dom";
import { useDispatch } from "react-redux";
import { Link } from "react-router-dom";
import { setSelectedTest } from "@redux/quizSlice";
import { urlForLocal } from "@utils/helper";
import calendarImage from "assets/icons/calendar.svg";

View File

@ -2,11 +2,12 @@ import React, { useEffect } from "react";
import { useSelector } from "react-redux";
import { useTimer } from "react-timer-hook";
import StarRating from "@components/StarRating/StarRating";
import { completedTestSelector } from "@redux/quizSlice";
import timer from "assets/images/quiz/timer.png";
import StarRating from "@components/StarRating/StarRating";
import accempt from "assets/images/quiz/accempt.png";
import timer from "assets/images/quiz/timer.png";
export const QuizPassingInformation = ({ expiryTimestamp, setStartTest }) => {
const { seconds, minutes, isRunning, start, pause, resume, restart } =

View File

@ -1,7 +1,8 @@
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { fetchResultTest, selectedTest, selectResult } from "@redux/quizSlice";
import { fetchResultTest, selectResult, selectedTest } from "@redux/quizSlice";
import { apiRequest } from "@api/request";
export const Results = () => {

View File

@ -1,25 +1,25 @@
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux";
import { apiRequest } from "@api/request";
import { HeaderQuiz } from "./HeaderQuiz";
import { Progressbar } from "./ProgressbarQuiz";
import { GetOptionTask } from "./GetOptionTask";
import {
fetchUserAnswersMany,
fetchUserAnswerOne,
fetchGetAnswers,
answersSelector,
selectedTest,
fetchGetAnswers,
fetchUserAnswerOne,
fetchUserAnswersMany,
questionsSelector,
selectedTest,
setAnswers,
setCompleteTest,
} from "@redux/quizSlice";
import { apiRequest } from "@api/request";
import questionIcon from "assets/images/question.png";
import { GetOptionTask } from "./GetOptionTask";
import { HeaderQuiz } from "./HeaderQuiz";
import { Progressbar } from "./ProgressbarQuiz";
import "./quiz.scss";
export const TaskQuiz = () => {

View File

@ -19,4 +19,4 @@ class ErrorBoundary extends Component {
}
}
export default ErrorBoundary
export default ErrorBoundary;

View File

@ -1,7 +1,8 @@
import { useDispatch, useSelector } from "react-redux";
import {getRole} from "../redux/roleSlice";
import { useNavigate } from "react-router-dom";
import { auth } from "../redux/outstaffingSlice";
import { getRole } from "../redux/roleSlice";
export const useLogout = () => {
const dispatch = useDispatch();
@ -11,8 +12,8 @@ export const useLogout = () => {
const logout = () => {
localStorage.clear();
dispatch(auth(false));
navigate(userRole === 'ROLE_DEV' ? '/authdev' : '/auth')
navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth");
};
return {logout}
return { logout };
};

View File

@ -1,14 +1,13 @@
import React from 'react'
import ReactDOM from 'react-dom/client'
import {store} from './store/store'
import {Provider} from 'react-redux'
import App from './App'
import React from "react";
import ReactDOM from "react-dom/client";
import { Provider } from "react-redux";
import './index.css'
import App from "./App";
import "./index.css";
import { store } from "./store/store";
ReactDOM.createRoot(document.getElementById("root"))
.render(
ReactDOM.createRoot(document.getElementById("root")).render(
<Provider store={store}>
<App />
</Provider>,
</Provider>
);

View File

@ -1,19 +1,19 @@
import React, { useState } from "react";
import { Link } from "react-router-dom";
import CardArticle from "@components/CardArticle/CardArticle";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import SideBar from "@components/SideBar/SideBar";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import CardArticle from "@components/CardArticle/CardArticle";
import SideBar from "@components/SideBar/SideBar";
import mockImgArticle from "assets/images/mock/mockImgArticle.png";
import rightArrow from "assets/icons/arrows/left-arrow.png";
import yandexZen from "assets/icons/yandexZen.svg";
import cardCalendar from "assets/icons/cardCalendar.svg";
import cardImg1 from "assets/images/mock/cardArticleItem.png";
import yandexZen from "assets/icons/yandexZen.svg";
import cardImg2 from "assets/images/mock/cardArticleItem2.png";
import cardImg3 from "assets/images/mock/cardArticleItem3.png";
import cardImg1 from "assets/images/mock/cardArticleItem.png";
import mockImgArticle from "assets/images/mock/mockImgArticle.png";
import "./article.scss";

View File

@ -3,27 +3,28 @@ import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { loading, selectIsLoading } from "@redux/loaderSlice";
import { apiRequest } from "@api/request";
import { auth, selectAuth, setUserInfo } from "@redux/outstaffingSlice";
import { setRole } from "@redux/roleSlice";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import SideBar from "@components/SideBar/SideBar";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import StepsForCandidate from "@components/StepsForCandidate/StepsForCandidate";
import { Footer } from "@components/Common/Footer/Footer";
import { apiRequest } from "@api/request";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar";
import StepsForCandidate from "@components/StepsForCandidate/StepsForCandidate";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import authImg from "assets/images/partnerProfile/authCandidateFormImg.png";
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import authImg from "assets/images/partnerProfile/authCandidateFormImg.png";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import "./authForCandidate.scss";

View File

@ -3,21 +3,22 @@ import { useSelector } from "react-redux";
import { Link, useNavigate } from "react-router-dom";
import { selectAuth } from "@redux/outstaffingSlice";
import { scrollToForm } from "@utils/helper";
import { AuthBox } from "@components/AuthBox/AuthBox";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
import { AuthBox } from "@components/AuthBox/AuthBox";
import arrow from "assets/icons/arrows/arrow__login_page.png";
import medium from "assets/images/medium_male_big.png";
import cross from "assets/images/cross.png";
import text from "assets/images/Body_Text.png";
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
import arrow from "assets/icons/arrows/arrow__login_page.png";
import text from "assets/images/Body_Text.png";
import vector from "assets/images/Vector_Smart_Object.png";
import vectorBlack from "assets/images/Vector_Smart_Object_black.png";
import cross from "assets/images/cross.png";
import medium from "assets/images/medium_male_big.png";
import "./authForDevelopers.scss";

View File

@ -3,21 +3,22 @@ import { useSelector } from "react-redux";
import { Link, useNavigate } from "react-router-dom";
import { selectAuth } from "@redux/outstaffingSlice";
import { scrollToForm } from "@utils/helper";
import { Footer } from "@components/Common/Footer/Footer";
import { AuthBox } from "@components/AuthBox/AuthBox";
import SideBar from "@components/SideBar/SideBar";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar";
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
import arrow from "assets/icons/arrows/arrow__login_page.png";
import authImg from "assets/images/auth_img.png";
import cross from "assets/images/cross.png";
import text from "assets/images/Body_Text.png";
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
import arrow from "assets/icons/arrows/arrow__login_page.png";
import text from "assets/images/Body_Text.png";
import vector from "assets/images/Vector_Smart_Object.png";
import vectorBlack from "assets/images/Vector_Smart_Object_black.png";
import authImg from "assets/images/auth_img.png";
import cross from "assets/images/cross.png";
import "./authForPartners.scss";

View File

@ -1,18 +1,18 @@
import React, { useState } from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import SideBar from "@components/SideBar/SideBar";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import CardArticle from "@components/CardArticle/CardArticle";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar";
import blogArrow from "assets/icons/arrows/blogArrow.svg";
import cardImg1 from "assets/images/mock/cardArticleItem.png";
import cardImg2 from "assets/images/mock/cardArticleItem2.png";
import cardImg3 from "assets/images/mock/cardArticleItem3.png";
import cardImg4 from "assets/images/mock/cardArticleItem4.png";
import cardImg5 from "assets/images/mock/cardArticleItem5.png";
import cardImg6 from "assets/images/mock/cardArticleItem6.png";
import cardImg1 from "assets/images/mock/cardArticleItem.png";
import "./blog.scss";

View File

@ -1,6 +1,7 @@
import React from "react";
import { BookkeepingTemplete } from "@components/features/bookkeeping/BookkeepingTemplete/BookkeepingTemplete";
import { BookkeepingContent } from "@components/features/bookkeeping/BookkeepingContent/BookkeepingContent";
import { BookkeepingTemplete } from "@components/features/bookkeeping/BookkeepingTemplete/BookkeepingTemplete";
const Bookkeeping = () => {
return (

View File

@ -1,23 +1,25 @@
import React, { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useParams, useNavigate, Navigate } from "react-router-dom";
import SVG from "react-inlinesvg";
import { useDispatch, useSelector } from "react-redux";
import { Navigate, useNavigate, useParams } from "react-router-dom";
import { LEVELS, SKILLS } from "@utils/constants";
import {
currentCandidate,
selectCurrentCandidate,
} from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import { LEVELS, SKILLS } from "@utils/constants";
import { urlForLocal } from "@utils/helper";
import Form from "@components/Form/Form";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import Form from "@components/Form/Form";
import { LogoutButton } from "@components/LogoutButton/LogoutButton";
import arrow from "assets/icons/arrows/left-arrow.png";
import rectangle from "assets/images/rectangle_secondPage.png";
import telegramIcon from "assets/icons/telegram-icon.svg";
import rectangle from "assets/images/rectangle_secondPage.png";
import "./formPage.scss";

View File

@ -1,10 +1,10 @@
import { useEffect, useState } from "react";
import { useNavigate, useParams } from "react-router";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar";
import arrowBtn from "assets/icons/arrows/arrowRight.svg";

View File

@ -1,9 +1,9 @@
import React from "react";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import { FrequentlyAskedQuestionsItem } from "@components/FrequentlyAskedQuestionsItem/FrequentlyAskedQuestionsItem";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import SideBar from "@components/SideBar/SideBar";
import arrow from "assets/images/faq/arrow.svg";

View File

@ -1,16 +1,17 @@
import React, { useState, useEffect } from "react";
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Navigate } from "react-router-dom";
import { apiRequest } from "@api/request";
import { profiles, tags } from "@redux/outstaffingSlice";
import Outstaffing from "@components/Outstaffing/Outstaffing";
import Description from "@components/Description/Description";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import Description from "@components/Description/Description";
import { Navigation } from "@components/Navigation/Navigation";
import Outstaffing from "@components/Outstaffing/Outstaffing";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
const Home = () => {
if (localStorage.getItem("role_status") !== "18") {

View File

@ -2,19 +2,20 @@ import React, { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { Link, Navigate, useNavigate } from "react-router-dom";
import { apiRequest } from "@api/request";
import { getPartnerRequestInfo } from "@redux/outstaffingSlice";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import arrowDown from "assets/icons/arrows/selectArrow.png";
import deleteIcon from "assets/icons/close.png";
import processImg from "assets/images/partnerProfile/partnerAddRequestFirstImg.png";
import reportImg from "assets/images/partnerProfile/partnerAddRequestSecondImg.png";
import documentsImg from "assets/images/partnerProfile/partnerAddRequestThirdInfo.png";
import deleteIcon from "assets/icons/close.png";
import "./partnerAddRequest.scss";

View File

@ -1,22 +1,25 @@
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { Link, Navigate, useNavigate } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux";
import {
getPartnerRequestId,
getPartnerRequests,
setPartnerRequestId,
setPartnerRequestInfo,
} from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { apiRequest } from "@api/request";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { Loader } from "@components/Common/Loader/Loader";
import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import arrowSwitchDate from "assets/icons/arrows/arrowViewReport.png";
import backEndImg from "assets/images/QualificationInfo.png";

View File

@ -1,15 +1,16 @@
import React from "react";
import { Link, Navigate } from "react-router-dom";
import { useSelector } from "react-redux";
import { Link, Navigate } from "react-router-dom";
import { getPartnerEmployees } from "@redux/outstaffingSlice";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import imgInfo from "assets/images/emplInfo.png";
import rightArrow from "assets/icons/arrows/arrowRight.svg";
import imgInfo from "assets/images/emplInfo.png";
import "./partnerEmployees.scss";

View File

@ -1,19 +1,21 @@
import React, { useEffect, useState } from "react";
import { Link, Navigate } from "react-router-dom";
import { useDispatch } from "react-redux";
import { Link, Navigate } from "react-router-dom";
import {
setPartnerRequestId,
setPartnerRequests,
} from "@redux/outstaffingSlice";
import { apiRequest } from "@api/request";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { SliderWorkers } from "@components/SliderWorkers/SliderWorkers";
import { Loader } from "@components/Common/Loader/Loader";
import { Footer } from "@components/Common/Footer/Footer";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { SliderWorkers } from "@components/SliderWorkers/SliderWorkers";
import cursorImg from "assets/icons/cursorImg.svg";

View File

@ -1,13 +1,13 @@
import React from "react";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { Navigation } from "@components/Navigation/Navigation";
import BaseButton from "@components/Common/BaseButton/BaseButton";
import kontur from "assets/images/logo/konturLogo.png";
import astral from "assets/images/logo/astralLogo.png";
import kontur from "assets/images/logo/konturLogo.png";
import "./partnerSettings.scss";

View File

@ -1,19 +1,19 @@
import React, { useState } from "react";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import mainTabImg from "assets/icons/mainTreaties.png";
import actImg from "assets/icons/actTreaties.png";
import checkImg from "assets/icons/checkTreaties.png";
import arrowDown from "assets/icons/arrows/arrowDown.png";
import logoAstral from "assets/images/logo/astralLogo.png";
import arrowItem from "assets/icons/arrows/arrowCheck.png";
import arrowDown from "assets/icons/arrows/arrowDown.png";
import checkImg from "assets/icons/checkTreaties.png";
import lock from "assets/icons/lock.svg";
import lockDone from "assets/icons/lockDone.svg";
import mainTabImg from "assets/icons/mainTreaties.png";
import avatarMok from "assets/images/avatarMok.png";
import logoAstral from "assets/images/logo/astralLogo.png";
import "./partnerTreaties.scss";

View File

@ -1,28 +1,28 @@
import React, { useState } from "react";
import { useDispatch } from "react-redux";
import { Link } from "react-router-dom";
import { Navigate } from "react-router-dom";
import { useDispatch } from "react-redux";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { setPartnerEmployees } from "@redux/outstaffingSlice";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import rightArrow from "assets/icons/arrows/arrowRight.svg";
import avatarImg from "assets/images/avatarMok.png";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import "./partnerСategories.scss";
import { Navigation } from "../../components/Navigation/Navigation";
import "./partnerСategories.scss";
export const PartnerCategories = () => {
const dispatch = useDispatch();

View File

@ -1,7 +1,7 @@
import React from "react";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
export const Payouts = () => {
return (

View File

@ -2,20 +2,21 @@ import React, { useState } from "react";
import { useSelector } from "react-redux";
import { getProfileInfo } from "@redux/outstaffingSlice";
import { urlForLocal } from "@utils/helper";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { CardControl } from "@components/CardControl/CardControl";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import reportsIcon from "assets/images/reports.png";
import summaryIcon from "assets/icons/summaryIcon.png";
import timerIcon from "assets/icons/timerIcon.png";
import paymentIcon from "assets/icons/paymentIcon.png";
import settingIcon from "assets/icons/settingIcon.png";
import summaryIcon from "assets/icons/summaryIcon.png";
import timerIcon from "assets/icons/timerIcon.png";
import avatarMok from "assets/images/avatarMok.png";
import reportsIcon from "assets/images/reports.png";
import "./profile.scss";

View File

@ -1,16 +1,16 @@
import React, { useState } from "react";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { CardControl } from "@components/CardControl/CardControl";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import settingIcon from "assets/icons/settingIcon.png";
import reportsIcon from "assets/images/reports.png";
import medium_male from "assets/images/medium_male.png";
import noteIcon from "assets/images/note.png";
import questionIcon from "assets/images/question.png";
import medium_male from "assets/images/medium_male.png";
import reportsIcon from "assets/images/reports.png";
import "./ProfileCandidate.scss";

View File

@ -1,40 +1,42 @@
import React, { useEffect, useRef, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { Link, useParams } from "react-router-dom";
import { urlForLocal } from "@utils/helper";
import { useDispatch, useSelector } from "react-redux";
import { apiRequest } from "@api/request";
import {
getProjectBoard,
activeLoader,
deletePersonOnProject,
getBoarderLoader,
getProjectBoard,
modalToggle,
moveProjectTask,
setColumnId,
setColumnName,
setProjectBoardFetch,
setToggleTab,
activeLoader,
setColumnName,
setColumnId,
deletePersonOnProject,
} from "@redux/projectsTrackerSlice";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { Loader } from "@components/Common/Loader/Loader";
import ModalTicket from "@components/Modal/Tracker/ModalTicket/ModalTicket";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
import archive from "assets/icons/archiveTracker.svg";
import selectArrow from "assets/icons/arrows/select.svg";
import commentsBoard from "assets/icons/commentsBoard.svg";
import filesBoard from "assets/icons/filesBoard.svg";
import arrow from "assets/icons/arrows/arrowCalendar.png";
import selectArrow from "assets/icons/arrows/select.svg";
import close from "assets/icons/closeProjectPersons.svg";
import commentsBoard from "assets/icons/commentsBoard.svg";
import del from "assets/icons/delete.svg";
import edit from "assets/icons/edit.svg";
import close from "assets/icons/closeProjectPersons.svg";
import filesBoard from "assets/icons/filesBoard.svg";
import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
export const ProjectTracker = () => {
const dispatch = useDispatch();

View File

@ -1,12 +1,12 @@
import React from "react";
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
import { Footer } from "@components/Common/Footer/Footer";
import SideBar from "@components/SideBar/SideBar";
import StepsForCandidate from "@components/StepsForCandidate/StepsForCandidate";
import { Footer } from "@components/Common/Footer/Footer";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import "./registationForCandidate.scss";

View File

@ -1,12 +1,12 @@
import React from "react";
import { useNavigate } from "react-router";
import SVG from "react-inlinesvg";
import { useNavigate } from "react-router";
import { TaskItem } from "@components/TaskItem/TaskItem";
import { LogoutButton } from "@components/LogoutButton/LogoutButton";
import { TaskItem } from "@components/TaskItem/TaskItem";
import arrowLeft from "assets/icons/arrows/left-arrow.png";
import dateArrowIcon from "assets/icons/arrows/dateArrow.svg";
import arrowLeft from "assets/icons/arrows/left-arrow.png";
import calendarIcon from "assets/icons/calendar.svg";
import "./singleReportPage.scss";

View File

@ -2,17 +2,19 @@ import React, { useEffect, useState } from "react";
import { useSelector } from "react-redux";
import { Navigate } from "react-router-dom";
import { apiRequest } from "@api/request";
import { urlForLocal } from "@utils/helper";
import { getProfileInfo } from "@redux/outstaffingSlice";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import arrow from "assets/icons/arrows/left-arrow.png";
import rightArrow from "assets/icons/arrows/arrowRight.svg";
import arrow from "assets/icons/arrows/left-arrow.png";
import gitImgItem from "assets/icons/gitItemImg.svg";
import "./summary.scss";

View File

@ -2,28 +2,30 @@ import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import {
setAllProjects,
getProjects,
setToggleTab,
getToggleTab,
modalToggle,
setAllProjects,
setToggleTab,
} from "@redux/projectsTrackerSlice";
import { urlForLocal } from "@utils/helper";
import { apiRequest } from "@api/request";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import ProjectTiket from "@components/ProjectTiket/ProjectTiket";
import { getCorrectDate } from "@components/Calendar/calendarHelper";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import TrackerModal from "@components/Modal/TrackerModal/TrackerModal";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import ProjectTiket from "@components/ProjectTiket/ProjectTiket";
import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
import archive from "assets/icons/archiveTracker.svg";
import search from "assets/icons/serchIcon.png";
import project from "assets/icons/trackerProject.svg";
import tasks from "assets/icons/trackerTasks.svg";
import noProjects from "assets/images/noProjects.png";
import "./tracker.scss";

View File

@ -1,21 +1,21 @@
import React, { useEffect, useState } from "react";
import { Link, Navigate, useParams } from "react-router-dom";
import { Loader } from "@components/Common/Loader/Loader";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { Navigation } from "@components/Navigation/Navigation";
import { apiRequest } from "@api/request";
import {
getCorrectDate,
getCreatedDate,
hourOfNum,
} from "@components/Calendar/calendarHelper";
import { Footer } from "@components/Common/Footer/Footer";
import { Loader } from "@components/Common/Loader/Loader";
import { Navigation } from "@components/Navigation/Navigation";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import arrow from "assets/icons/arrows/left-arrow.png";
import arrowSwitchDate from "assets/icons/arrows/arrowViewReport.png";
import arrow from "assets/icons/arrows/left-arrow.png";
import "./viewReport.scss";

View File

@ -1,16 +1,17 @@
import React, { useState } from "react";
import { useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { completedTestSelector, selectedTest } from "@redux/quizSlice";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { Footer } from "@components/Common/Footer/Footer";
import { QuizPassingInformation } from "@components/features/quiz/Quiz-passing-information";
import { CardIntroduction } from "@components/features/quiz/Card-introduction";
import { TaskQuiz } from "@components/features/quiz/Task";
import { BlockCompletedTest } from "@components/features/quiz/BlockCompletedTest";
import { CardIntroduction } from "@components/features/quiz/Card-introduction";
import { QuizPassingInformation } from "@components/features/quiz/Quiz-passing-information";
import { TaskQuiz } from "@components/features/quiz/Task";
export const PassingTests = () => {
//const selectedTest = useSelector(selectedTest)

View File

@ -1,26 +1,28 @@
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { Link } from "react-router-dom";
import { questionnairesSelector, setQuestionnaires } from "@redux/quizSlice";
import { apiRequest } from "@api/request";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { SelectedCategory } from "@components/features/quiz/SelectedCategory";
import { Footer } from "@components/Common/Footer/Footer";
import { CardAvailableTest } from "@components/features/quiz/CardAviableTest";
import CategoriesItem from "@components/CategoriesItem/CategoriesItem";
import { SelectedCategory } from "@components/features/quiz/SelectedCategory";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import AdminImg from "assets/images/partnerProfile/PersonalAdmin.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import ArchitectureImg from "assets/images/partnerProfile/PersonalArchitecture.svg";
import CopyImg from "assets/images/partnerProfile/PersonalCopy.svg";
import DesignImg from "assets/images/partnerProfile/PersonalDesign.svg";
import FrontendImg from "assets/images/partnerProfile/PersonalFrontend.svg";
import ManageImg from "assets/images/partnerProfile/PersonalMng.svg";
import SmmImg from "assets/images/partnerProfile/PersonalSMM.svg";
import TestImg from "assets/images/partnerProfile/PersonalTesters.svg";
import BackEndImg from "assets/images/partnerProfile/personalBackEnd.svg";
import "./quiz-page.scss";

View File

@ -1,15 +1,15 @@
import React from "react";
import { useNavigate } from "react-router-dom";
import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { selectedTest } from "@redux/quizSlice";
import { Footer } from "@components/Common/Footer/Footer";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader";
import { HeadBottom } from "@components/features/Candidate-lk/HeadBottom";
import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs";
import { QuizReport } from "@components/features/quiz/QuizReport";
import { Footer } from "@components/Common/Footer/Footer";
import { AlertResult } from "@components/features/quiz/AlertResult";
import { QuizReport } from "@components/features/quiz/QuizReport";
export const QuizReportPage = () => {
const test = useSelector(selectedTest);

View File

@ -1,11 +1,11 @@
import { createSlice } from '@reduxjs/toolkit';
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
isLoading: false,
};
export const loaderSlice = createSlice({
name: 'loader',
name: "loader",
initialState,
reducers: {
loading: (state, action) => {

View File

@ -1,4 +1,4 @@
import { createSlice } from '@reduxjs/toolkit';
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
tags: [],
@ -9,15 +9,15 @@ const initialState = {
auth: false,
positionId: null,
profileInfo: {},
reportsDates: '',
reportsDates: "",
partnerEmployees: [],
partnerRequestId: null,
partnerRequests: [],
partnerRequestInfo: {}
partnerRequestInfo: {},
};
export const outstaffingSlice = createSlice({
name: 'outstaffing',
name: "outstaffing",
initialState,
reducers: {
tags: (state, action) => {
@ -51,35 +51,55 @@ export const outstaffingSlice = createSlice({
state.reportsDates = action.payload;
},
setPartnerEmployees: (state, action) => {
state.partnerEmployees = action.payload
state.partnerEmployees = action.payload;
},
setPartnerRequestId: (state, action) => {
state.partnerRequestId = action.payload
state.partnerRequestId = action.payload;
},
setPartnerRequests: (state, action) => {
state.partnerRequests = action.payload
state.partnerRequests = action.payload;
},
setPartnerRequestInfo: (state, action) => {
state.partnerRequestInfo = action.payload
}
state.partnerRequestInfo = action.payload;
},
},
});
export const { tags, profiles, selectedItems, auth, currentCandidate, filteredCandidates, setPositionId, setUserInfo, setProfileInfo, setReportsDates, setPartnerEmployees, setPartnerRequestId, setPartnerRequests, setPartnerRequestInfo } = outstaffingSlice.actions;
export const {
tags,
profiles,
selectedItems,
auth,
currentCandidate,
filteredCandidates,
setPositionId,
setUserInfo,
setProfileInfo,
setReportsDates,
setPartnerEmployees,
setPartnerRequestId,
setPartnerRequests,
setPartnerRequestInfo,
} = outstaffingSlice.actions;
export const selectProfiles = (state) => state.outstaffing.profiles;
export const selectTags = (state) => state.outstaffing.tags;
export const selectFilteredCandidates = (state) => state.outstaffing.filteredCandidates;
export const selectFilteredCandidates = (state) =>
state.outstaffing.filteredCandidates;
export const selectItems = (state) => state.outstaffing.selectedItems;
export const selectCurrentCandidate = (state) => state.outstaffing.currentCandidate;
export const selectCurrentCandidate = (state) =>
state.outstaffing.currentCandidate;
export const selectAuth = (state) => state.outstaffing.auth;
export const getPositionId = (state) => state.outstaffing.positionId;
export const getProfileInfo = (state) => state.outstaffing.profileInfo;
export const getPartnerRequestInfo = (state) => state.outstaffing.partnerRequestInfo;
export const getPartnerRequestInfo = (state) =>
state.outstaffing.partnerRequestInfo;
export const selectUserInfo = (state) => state.outstaffing.userInfo;
export const getReportsDates = (state) => state.outstaffing.reportsDates;
export const getPartnerEmployees = (state) => state.outstaffing.partnerEmployees;
export const getPartnerRequestId = (state) => state.outstaffing.partnerRequestId;
export const getPartnerEmployees = (state) =>
state.outstaffing.partnerEmployees;
export const getPartnerRequestId = (state) =>
state.outstaffing.partnerRequestId;
export const getPartnerRequests = (state) => state.outstaffing.partnerRequests;
export default outstaffingSlice.reducer;

View File

@ -1,4 +1,5 @@
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { apiRequest } from "../api/request";
const initialState = {
@ -8,7 +9,7 @@ const initialState = {
modalType: "",
boardLoader: false,
columnName: "",
columnId: 0
columnId: 0,
};
export const setProjectBoardFetch = createAsyncThunk("userInfo", (id) =>
@ -36,10 +37,12 @@ export const projectsTrackerSlice = createSlice({
});
},
deletePersonOnProject: (state, action) => {
state.projectBoard.projectUsers = state.projectBoard.projectUsers.filter((person) => person.user_id !== action.payload)
state.projectBoard.projectUsers = state.projectBoard.projectUsers.filter(
(person) => person.user_id !== action.payload
);
},
addPersonToProject: (state, action) => {
state.projectBoard.projectUsers.push(action.payload)
state.projectBoard.projectUsers.push(action.payload);
},
activeLoader: (state) => {
state.boardLoader = true;
@ -64,10 +67,10 @@ export const projectsTrackerSlice = createSlice({
});
},
setColumnName: (state, action) => {
state.columnName = action.payload
state.columnName = action.payload;
},
setColumnId: (state, action) => {
state.columnId = action.payload
state.columnId = action.payload;
},
editProjectName: (state, action) => {
state.projects.forEach((project) => {
@ -79,9 +82,9 @@ export const projectsTrackerSlice = createSlice({
editColumnName: (state, action) => {
state.projectBoard.columns.forEach((column) => {
if (column.id === action.payload.id) {
column.title = action.payload.title
column.title = action.payload.title;
}
})
});
},
modalToggle: (state, action) => {
state.modalType = action.payload;
@ -108,7 +111,7 @@ export const {
editColumnName,
setColumnId,
deletePersonOnProject,
addPersonToProject
addPersonToProject,
} = projectsTrackerSlice.actions;
export const getProjects = (state) => state.tracker.projects;

View File

@ -1,69 +1,70 @@
import {createAsyncThunk, createSlice} from '@reduxjs/toolkit';
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { apiRequest } from "../api/request";
const initialState = {
answers: [
{
"id": "12",
"question_id": "7",
"answer_body": "Нsdf sfd fds sdf sf sfsdf sdfеск вsdffsdfsdf sf sdf sdfsdfsdfsdfdsjknsdkf dssdjf sdfbsdhf sd hjdsfv sdhjvар1 отв1 истина"
id: "12",
question_id: "7",
answer_body:
"Нsdf sfd fds sdf sf sfsdf sdfеск вsdffsdfsdf sf sdf sdfsdfsdfsdfdsjknsdkf dssdjf sdfbsdhf sd hjdsfv sdhjvар1 отв1 истина",
},
{
"id": "23",
"question_id": "7",
"answer_body": "Неск вар1 отв1 истина"
id: "23",
question_id: "7",
answer_body: "Неск вар1 отв1 истина",
},
{
"id": "233",
"question_id": "7",
"answer_body": "lorem sdfdsf dfs sdf "
id: "233",
question_id: "7",
answer_body: "lorem sdfdsf dfs sdf ",
},
],
questionnaires: [],
questions: [
{
"id": "4",
"question_type_id": "3",
"question_body": "Для чего в Python используется встроенная функция enumerate()?",
"question_priority": null,
"next_question": null,
"time_limit": "00:22:00"
id: "4",
question_type_id: "3",
question_body:
"Для чего в Python используется встроенная функция enumerate()?",
question_priority: null,
next_question: null,
time_limit: "00:22:00",
},
{
"id": "24",
"question_type_id": "3",
"question_body": "Для чего в Python dfsf троенная функция enumerate()?",
"question_priority": null,
"next_question": null,
"time_limit": "00:22:00"
id: "24",
question_type_id: "3",
question_body: "Для чего в Python dfsf троенная функция enumerate()?",
question_priority: null,
next_question: null,
time_limit: "00:22:00",
},
{
"id": "41",
"question_type_id": "3",
"question_body": "Для чегоsdfsdfя функция enumerate()?",
"question_priority": null,
"next_question": null,
"time_limit": "00:22:00"
id: "41",
question_type_id: "3",
question_body: "Для чегоsdfsdfя функция enumerate()?",
question_priority: null,
next_question: null,
time_limit: "00:22:00",
},
{
"id": "5",
"question_type_id": '2',
"question_body": "Один ответ2",
"question_priority": null,
"next_question": null,
"time_limit": "00:22:00"
}
id: "5",
question_type_id: "2",
question_body: "Один ответ2",
question_priority: null,
next_question: null,
time_limit: "00:22:00",
},
],
selectedTest: {
"user_id": 1,
"uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"score": 11,
"status": 2,
"percent_correct_answers": 0.25,
"testing_date": "2022-03-17 11:14:22",
"questionnaire_title": "Кат1 Анкета 1 активна"
user_id: 1,
uuid: "d222f858-60fd-47fb-8731-dc9d5fc384c5",
score: 11,
status: 2,
percent_correct_answers: 0.25,
testing_date: "2022-03-17 11:14:22",
questionnaire_title: "Кат1 Анкета 1 активна",
},
selectedAnswers: {},
completedTest: false,
@ -73,51 +74,52 @@ const initialState = {
passedTests: [],
userInfo: null,
};
export const setUserInfo = createAsyncThunk(
'userInfo',
(id) =>
export const setUserInfo = createAsyncThunk("userInfo", (id) =>
apiRequest(`/profile/get-main-data?user_id=${id}`)
);
export const fetchUserAnswersMany = createAsyncThunk(
'answersUserMany',
"answersUserMany",
(checkedValues) =>
apiRequest('/user-response/set-responses', {method: 'POST', data: {"userResponses": checkedValues}})
apiRequest("/user-response/set-responses", {
method: "POST",
data: { userResponses: checkedValues },
})
);
export const fetchUserAnswerOne = createAsyncThunk(
'answersUserOne',
"answersUserOne",
(checkedValues) =>
apiRequest('/user-response/set-response', {method: 'POST', data: checkedValues[0]})
apiRequest("/user-response/set-response", {
method: "POST",
data: checkedValues[0],
})
);
export const fetchGetAnswers = createAsyncThunk(
'answers',
(question_id) =>
export const fetchGetAnswers = createAsyncThunk("answers", (question_id) =>
apiRequest(`/answer/get-answers?question_id=${question_id}`)
);
export const fetchResultTest = createAsyncThunk(
'result',
(uuid) =>
apiRequest(`/user-questionnaire/questionnaire-completed?user_questionnaire_uuid=${uuid}`)
export const fetchResultTest = createAsyncThunk("result", (uuid) =>
apiRequest(
`/user-questionnaire/questionnaire-completed?user_questionnaire_uuid=${uuid}`
)
);
export const quizSlice = createSlice({
name: 'quiz',
name: "quiz",
initialState,
reducers: {
setQuestionnaires: (state, action) => {
state.questionnaires = action.payload;
},
setSelectedTest: (state, action) => {
state.selectedTest = action.payload
state.selectedTest = action.payload;
},
setCompleteTest: (state, action) => {
state.completedTest = true
}
state.completedTest = true;
},
},
extraReducers: {
[setUserInfo.fulfilled]: (state, action) => {
@ -132,21 +134,18 @@ export const quizSlice = createSlice({
},
});
export const {setQuestionnaires, setSelectedTest, setCompleteTest} = quizSlice.actions;
export const { setQuestionnaires, setSelectedTest, setCompleteTest } =
quizSlice.actions;
export const answersSelector = (state) => state.quiz.answers;
export const questionnairesSelector = (state) => state.quiz.questionnaires;
export const selectedAnswersSelector = (state) => state.quiz.selectedAnswers
export const questionsSelector = (state) => state.quiz.questions
export const completedTestSelector = (state) => state.quiz.completedTest
export const selectedAnswersSelector = (state) => state.quiz.selectedAnswers;
export const questionsSelector = (state) => state.quiz.questions;
export const completedTestSelector = (state) => state.quiz.completedTest;
export const selectResult = (state) => state.quiz.result;
export const selectedTest = (state) => state.quiz.selectedTest;
export const selectPassedTests = (state) => state.quiz.passedTests;
export const selectUserInfo = (state) => state.quiz.userInfo;
export default quizSlice.reducer;

View File

@ -1,11 +1,11 @@
import { createSlice } from '@reduxjs/toolkit';
import { createSlice } from "@reduxjs/toolkit";
const initialState = {
role: null,
};
export const roleSlice = createSlice({
name: 'role',
name: "role",
initialState,
reducers: {
setRole: (state, action) => {

View File

@ -1,10 +1,11 @@
import { configureStore } from "@reduxjs/toolkit";
import outstaffingReducer from "../redux/outstaffingSlice";
import loaderReducer from "../redux/loaderSlice";
import roleReducer from "../redux/roleSlice";
import reportReducer from "../redux/reportSlice";
import quizSlice from "../redux/quizSlice";
import outstaffingReducer from "../redux/outstaffingSlice";
import projectsTrackerSlice from "../redux/projectsTrackerSlice";
import quizSlice from "../redux/quizSlice";
import reportReducer from "../redux/reportSlice";
import roleReducer from "../redux/roleSlice";
export const store = configureStore({
reducer: {

View File

@ -1,15 +1,15 @@
export const LEVELS = {
1: 'Junior',
2: 'Middle',
3: 'Middle+',
4: 'Senior',
1: "Junior",
2: "Middle",
3: "Middle+",
4: "Senior",
};
export const SKILLS = {
1: 'Back end - разработчик',
2: 'Front end - разработчик',
3: 'Маркетолог',
4: 'Smm - специалист',
5: 'Дизайнер',
6: 'Копирайтер',
1: "Back end - разработчик",
2: "Front end - разработчик",
3: "Маркетолог",
4: "Smm - специалист",
5: "Дизайнер",
6: "Копирайтер",
};