From 727d55798a061a505c6807a3a27b6a1a653c6c2a Mon Sep 17 00:00:00 2001 From: Gubar Nikita Date: Tue, 12 Mar 2024 16:14:44 +0300 Subject: [PATCH 01/10] pop-up notifications --- package-lock.json | 10 ++-- src/components/FileTracker/FileTracker.jsx | 24 ++++++++-- src/components/Form/Form.jsx | 25 ++++++++-- .../Tracker/ListEmployees/ListEmployees.jsx | 22 +++++++-- .../Modal/Tracker/ModalTicket/ModalTicket.jsx | 48 ++++++++++++------- .../Tracker/TrackerModal/TrackerModal.jsx | 31 ++++++++---- .../quiz/Quiz-passing-information.jsx | 5 ++ .../PartnerAddRequest/PartnerAddRequest.jsx | 13 +++++ src/pages/PartnerBid/PartnerBid.jsx | 8 ++++ src/pages/ProjectTracker/ProjectTracker.jsx | 21 +++++++- src/pages/Summary/Summary.jsx | 11 ++++- src/pages/ViewReport/ViewReport.jsx | 8 ++++ 12 files changed, 186 insertions(+), 40 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5818c71a..c747c6c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8148,9 +8148,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001458", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz", - "integrity": "sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==", + "version": "1.0.30001597", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", "funding": [ { "type": "opencollective", @@ -8159,6 +8159,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, diff --git a/src/components/FileTracker/FileTracker.jsx b/src/components/FileTracker/FileTracker.jsx index 62ae64c7..02b5f570 100644 --- a/src/components/FileTracker/FileTracker.jsx +++ b/src/components/FileTracker/FileTracker.jsx @@ -4,10 +4,15 @@ import { backendImg } from "@utils/helper"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import close from "assets/icons/closeProjectPersons.svg"; const FileTracker = ({ file, setDeletedTask, taskId }) => { const [openImg, setOpenImg] = useState(false); + + const { showNotification } = useNotification(); + function deleteFile(file) { apiRequest("/file/detach", { method: "DELETE", @@ -17,9 +22,22 @@ const FileTracker = ({ file, setDeletedTask, taskId }) => { entity_id: taskId, status: 0 } - }).then(() => { - setDeletedTask(file); - }); + }) + .then(() => { + setDeletedTask(file); + showNotification({ + show: true, + text: "Файл успешно удален", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка при удалении файла", + type: "error" + }); + }); } return ( diff --git a/src/components/Form/Form.jsx b/src/components/Form/Form.jsx index dbe43cbd..77e04a19 100644 --- a/src/components/Form/Form.jsx +++ b/src/components/Form/Form.jsx @@ -7,6 +7,8 @@ import withReactContent from "sweetalert2-react-content"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import { Loader } from "@components/Common/Loader/Loader"; import "./form.scss"; @@ -18,6 +20,8 @@ const Form = () => { const urlParams = useParams(); + const { showNotification } = useNotification(); + const [status, setStatus] = useState(null); const [data, setData] = useState({ email: "", @@ -75,10 +79,23 @@ const Form = () => { profile_id: urlParams.id, ...data } - }).then((res) => { - setStatus(res); - setIsFetching(false); - }); + }) + .then((res) => { + setStatus(res); + setIsFetching(false); + showNotification({ + show: true, + text: "Отправка успешно завершена", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка отправки", + type: "error" + }); + }); }; return ( diff --git a/src/components/Modal/Tracker/ListEmployees/ListEmployees.jsx b/src/components/Modal/Tracker/ListEmployees/ListEmployees.jsx index ab220748..4709cfa6 100644 --- a/src/components/Modal/Tracker/ListEmployees/ListEmployees.jsx +++ b/src/components/Modal/Tracker/ListEmployees/ListEmployees.jsx @@ -10,6 +10,8 @@ import { caseOfNum, removeLast, urlForLocal } from "@utils/helper"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; import close from "assets/icons/close.png"; @@ -24,6 +26,7 @@ const ListEmployees = ({ setModalAdd }) => { const dispatch = useDispatch(); + const { showNotification } = useNotification(); function deletePerson(userId) { apiRequest("/project/del-user", { @@ -32,9 +35,22 @@ const ListEmployees = ({ project_id: projectBoard.id, user_id: userId } - }).then(() => { - dispatch(deletePersonOnProject(userId)); - }); + }) + .then(() => { + dispatch(deletePersonOnProject(userId)); + showNotification({ + show: true, + text: "Участник успешно удален", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка удаления участника", + type: "error" + }); + }); } return ( diff --git a/src/components/Modal/Tracker/ModalTicket/ModalTicket.jsx b/src/components/Modal/Tracker/ModalTicket/ModalTicket.jsx index 89d197fe..fe91c37e 100644 --- a/src/components/Modal/Tracker/ModalTicket/ModalTicket.jsx +++ b/src/components/Modal/Tracker/ModalTicket/ModalTicket.jsx @@ -118,15 +118,23 @@ export const ModalTiсket = ({ task_id: task.id, status: 0 } - }).then(() => { - closeModal(); - dispatch(setProjectBoardFetch(projectId)); - showNotification({ - show: true, - text: "Задача успешно была перемещена в архив", - type: "archive" + }) + .then(() => { + closeModal(); + dispatch(setProjectBoardFetch(projectId)); + showNotification({ + show: true, + text: "Задача успешно удалена", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка удаления", + type: "error" + }); }); - }); } const priority = { @@ -169,15 +177,23 @@ export const ModalTiсket = ({ title: inputsValue.title, description: inputsValue.description } - }).then((res) => { - setEditOpen(!editOpen); - dispatch(setProjectBoardFetch(projectId)); - showNotification({ - show: true, - text: "Изменения сохранены", - type: "success" + }) + .then((res) => { + setEditOpen(!editOpen); + dispatch(setProjectBoardFetch(projectId)); + showNotification({ + show: true, + text: "Изменения сохранены", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка при сохранении изменений", + type: "error" + }); }); - }); } function createComment() { diff --git a/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx b/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx index 34dc7400..569a9abb 100644 --- a/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx +++ b/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx @@ -137,14 +137,22 @@ export const TrackerModal = ({ : 1, title: valueColumn } - }).then(() => { - dispatch(setProjectBoardFetch(projectBoard.id)); - showNotification({ - show: true, - text: "Колонка создана", - type: "success" + }) + .then(() => { + dispatch(setProjectBoardFetch(projectBoard.id)); + showNotification({ + show: true, + text: "Колонка успешно создана", + type: "success" + }); + }) + .catch(() => { + showNotification({ + show: true, + text: "Ошибка при создании колонки", + type: "error" + }); }); - }); setValueColumn(""); setActive(false); } @@ -221,7 +229,7 @@ export const TrackerModal = ({ setDeadLineDate(""); showNotification({ show: true, - text: "Задача создана", + text: "Задача успешно создана", type: "success" }); } @@ -295,7 +303,7 @@ export const TrackerModal = ({ dispatch(editColumnName({ id: columnId, title: columnName })); showNotification({ show: true, - text: "Колонка создана", + text: "Колонка успешно изменена", type: "success" }); }); @@ -316,6 +324,11 @@ export const TrackerModal = ({ dispatch(setProject(result)); setActive(false); setNameProject(""); + showNotification({ + show: true, + text: "Проект успешно создан", + type: "success" + }); } else { showNotification({ show: true, diff --git a/src/components/features/quiz/Quiz-passing-information.jsx b/src/components/features/quiz/Quiz-passing-information.jsx index ff1f3b73..4709f2e3 100644 --- a/src/components/features/quiz/Quiz-passing-information.jsx +++ b/src/components/features/quiz/Quiz-passing-information.jsx @@ -34,6 +34,11 @@ export const QuizPassingInformation = ({ setStartTest, uuid, timer }) => { } dispatch(setQuestions(res)); setStartTest(true); + showNotification({ + show: true, + text: "Тест успешно запущен", + type: "success" + }); restart( moment() .add(res[0]?.time_limit.split(":")[0], "hours") diff --git a/src/pages/PartnerAddRequest/PartnerAddRequest.jsx b/src/pages/PartnerAddRequest/PartnerAddRequest.jsx index 869a79ab..dbc2bdae 100644 --- a/src/pages/PartnerAddRequest/PartnerAddRequest.jsx +++ b/src/pages/PartnerAddRequest/PartnerAddRequest.jsx @@ -6,6 +6,8 @@ import { getPartnerRequestInfo } from "@redux/outstaffingSlice"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import { Footer } from "@components/Common/Footer/Footer"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; @@ -47,6 +49,7 @@ export const PartnerAddRequest = () => { "Выберите кол-во сотрудников" ); const [inputs, setInputs] = useState({ title: "", description: "" }); + const { showNotification } = useNotification(); if ( currentUrl[0] === "/profile/requests-edit" && @@ -120,6 +123,11 @@ export const PartnerAddRequest = () => { } }).then(() => { navigate("/profile/requests"); + showNotification({ + show: true, + text: "Вакансия успешно изменена", + type: "success" + }); }); } else { apiRequest("/request/create-request", { @@ -138,6 +146,11 @@ export const PartnerAddRequest = () => { } }).then(() => { navigate("/profile/requests"); + showNotification({ + show: true, + text: "Вакансия успешно создана", + type: "success" + }); }); } }; diff --git a/src/pages/PartnerBid/PartnerBid.jsx b/src/pages/PartnerBid/PartnerBid.jsx index 67e454fc..8b12fb01 100644 --- a/src/pages/PartnerBid/PartnerBid.jsx +++ b/src/pages/PartnerBid/PartnerBid.jsx @@ -14,6 +14,8 @@ import { urlForLocal } from "@utils/helper"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import { Footer } from "@components/Common/Footer/Footer"; import { Loader } from "@components/Common/Loader/Loader"; import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; @@ -37,6 +39,7 @@ export const PartnerBid = () => { const requestId = useSelector(getPartnerRequestId); const partnerRequests = useSelector(getPartnerRequests); const navigate = useNavigate(); + const { showNotification } = useNotification(); if (!requestId) { return ; @@ -61,6 +64,11 @@ export const PartnerBid = () => { } }).then(() => { navigate("/profile/requests"); + showNotification({ + show: true, + text: "Вакансия удалена", + type: "success" + }); }); }; diff --git a/src/pages/ProjectTracker/ProjectTracker.jsx b/src/pages/ProjectTracker/ProjectTracker.jsx index 52b95c10..13ea7a6b 100644 --- a/src/pages/ProjectTracker/ProjectTracker.jsx +++ b/src/pages/ProjectTracker/ProjectTracker.jsx @@ -256,7 +256,11 @@ export const ProjectTracker = () => { } else { dispatch(setProjectBoardFetch(projectBoard.id)); } - showNotification({ show: true, text: "Колонка удалена", type: "error" }); + showNotification({ + show: true, + text: "Колонка удалена", + type: "error" + }); }); } @@ -319,6 +323,11 @@ export const ProjectTracker = () => { ...prevState, add: false })); + showNotification({ + show: true, + text: "Тег успешно создан", + type: "success" + }); }); }); } @@ -340,6 +349,11 @@ export const ProjectTracker = () => { })); setTagInfo({ description: "", name: "" }); setColor("#aabbcc"); + showNotification({ + show: true, + text: "Тег успешно изменён", + type: "success" + }); }); } @@ -353,6 +367,11 @@ export const ProjectTracker = () => { } }).then(() => { dispatch(deleteTagProject(tagId)); + showNotification({ + show: true, + text: "Тег удален", + type: "success" + }); }); } diff --git a/src/pages/Summary/Summary.jsx b/src/pages/Summary/Summary.jsx index 641ac32d..b5f30d5b 100644 --- a/src/pages/Summary/Summary.jsx +++ b/src/pages/Summary/Summary.jsx @@ -10,6 +10,8 @@ import { urlForLocal } from "@utils/helper"; import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import { Footer } from "@components/Common/Footer/Footer"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; @@ -37,6 +39,7 @@ export const Summary = () => { const [selectedSkills, setSelectedSkills] = useState([]); const [selectSkillsOpen, setSelectSkillsOpen] = useState(false); const [skillsList, seSkillsList] = useState([]); + const { showNotification } = useNotification(); useEffect(() => { apiRequest( @@ -72,7 +75,13 @@ export const Summary = () => { data: { resume: summery } - }).then(() => {}); + }).then(() => { + showNotification({ + show: true, + text: "Изменения успешно сохранены", + type: "success" + }); + }); } return (
diff --git a/src/pages/ViewReport/ViewReport.jsx b/src/pages/ViewReport/ViewReport.jsx index ab210b1d..6169cf6f 100644 --- a/src/pages/ViewReport/ViewReport.jsx +++ b/src/pages/ViewReport/ViewReport.jsx @@ -12,6 +12,8 @@ import { import { apiRequest } from "@api/request"; +import { useNotification } from "@hooks/useNotification"; + import { Footer } from "@components/Common/Footer/Footer"; import { Loader } from "@components/Common/Loader/Loader"; import { Navigation } from "@components/Navigation/Navigation"; @@ -38,6 +40,7 @@ export const ViewReport = () => { const [loader, setLoader] = useState(false); const [deleteLoader, setDeleteLoader] = useState(false); const [reportInfo, setReportInfo] = useState({}); + const { showNotification } = useNotification(); function getReportFromDate(day) { setLoader(true); @@ -84,6 +87,11 @@ export const ViewReport = () => { if (res) { window.location.replace("/profile/calendar"); } + showNotification({ + show: true, + text: "Отчет удален", + type: "success" + }); }); } From f2ad6b43bda5d8101623326868ca19246ea7393b Mon Sep 17 00:00:00 2001 From: Mikola Date: Fri, 15 Mar 2024 18:18:10 +0300 Subject: [PATCH 02/10] guardian routes --- src/App.jsx | 149 +----------------- src/api/request.js | 2 +- src/components/AuthBox/AuthBox.jsx | 1 + .../Common/AuthHeader/AuthHeader.jsx | 6 +- src/components/Navigation/Navigation.jsx | 2 +- .../ProfileHeader/ProfileHeader.jsx | 5 +- src/pages/Auth/Auth.jsx | 18 +-- src/pages/MainPage/MainPage.jsx | 36 +++++ .../PartnerСategories/PartnerСategories.jsx | 11 ++ src/pages/roles/DeveloperPage.jsx | 57 +++++++ src/pages/roles/GuestPage.jsx | 72 +++++++++ src/pages/roles/PartnerPage.jsx | 71 +++++++++ src/redux/outstaffingSlice.js | 2 +- 13 files changed, 267 insertions(+), 165 deletions(-) create mode 100644 src/pages/MainPage/MainPage.jsx create mode 100644 src/pages/roles/DeveloperPage.jsx create mode 100644 src/pages/roles/GuestPage.jsx create mode 100644 src/pages/roles/PartnerPage.jsx diff --git a/src/App.jsx b/src/App.jsx index b0aabcb1..8ff100d6 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -9,51 +9,8 @@ import { } from "react-router-dom"; import { getNotification } from "@redux/outstaffingSlice"; - -import { Article } from "@pages/Article/Article"; -import { Auth } from "@pages/Auth/Auth"; -import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate"; -import { Blog } from "@pages/Blog/Blog"; -import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists"; -import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo"; -import { FormPage } from "@pages/FormPage/FormPage"; -import { Forms } from "@pages/Forms/Forms"; -import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion"; -import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions"; -import { Home } from "@pages/Home/Home"; -import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest"; -import { PartnerBid } from "@pages/PartnerBid/PartnerBid"; -import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport"; -import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees"; -import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests"; -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 { PassingTests } from "@pages/Quiz/PassingTests"; -import { QuizPage } from "@pages/Quiz/QuizPage"; -import { QuizReportPage } from "@pages/Quiz/QuizReportPage"; -import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate"; -import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting"; -import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage"; -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 { Calendar } from "@components/Calendar/Calendar"; -import { Candidate } from "@components/Candidate/Candidate"; -import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers"; -import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; import { Notification } from "@components/Notification/Notification"; -import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar"; -import { ReportForm } from "@components/ReportForm/ReportForm"; +import { MainPage } from "@pages/MainPage/MainPage"; import "assets/fonts/stylesheet.css"; import "assets/global.scss"; @@ -64,109 +21,7 @@ const App = () => { <> - } /> - } /> - } /> - } /> - } - /> - } /> - } - /> - } - /> - - } /> - } - > - } - /> - - } /> - } - /> - - }> - }> - } - /> - } - /> - - } /> - } /> - } /> - - } /> - - - } /> - } /> - } /> - } /> - } - /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } - /> - } /> - - } /> - } /> - } /> - - - } - /> - - - - } /> - - - } /> + } /> {notification.show && } diff --git a/src/api/request.js b/src/api/request.js index 4c07b441..d7615cbc 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -41,7 +41,7 @@ export const apiRequest = ( if (response.data?.redirect || response.status === 401) { window.location.replace("/auth"); localStorage.clear(); - // dispatch(auth(false)); + store.dispatch(auth(false)); store.dispatch(setProfileInfo({})); } return resolve(response); diff --git a/src/components/AuthBox/AuthBox.jsx b/src/components/AuthBox/AuthBox.jsx index 27c5bf67..8ebf1394 100644 --- a/src/components/AuthBox/AuthBox.jsx +++ b/src/components/AuthBox/AuthBox.jsx @@ -70,6 +70,7 @@ export const AuthBox = ({ title }) => { dispatch(setUserInfo(res)); dispatch(loading(false)); dispatch(setRole("ROLE_PARTNER")); + navigate("/profile"); } }); } diff --git a/src/components/Common/AuthHeader/AuthHeader.jsx b/src/components/Common/AuthHeader/AuthHeader.jsx index c39b072d..19e8ebac 100644 --- a/src/components/Common/AuthHeader/AuthHeader.jsx +++ b/src/components/Common/AuthHeader/AuthHeader.jsx @@ -24,9 +24,9 @@ export const AuthHeader = () => { Главная -
  • - Кабинет разработчика -
  • + {/*
  • */} + {/* Кабинет разработчика*/} + {/*
  • */}
  • Трекер
  • diff --git a/src/components/Navigation/Navigation.jsx b/src/components/Navigation/Navigation.jsx index eb4baac8..80d0a184 100644 --- a/src/components/Navigation/Navigation.jsx +++ b/src/components/Navigation/Navigation.jsx @@ -81,7 +81,7 @@ export const Navigation = () => { { }); }, []); - const handler = () => { - setIsLoggingOut(true); + const handler = (e) => { + e.preventDefault() localStorage.clear(); dispatch(auth(false)); - setIsLoggingOut(false); navigate("/auth"); dispatch(setProfileInfo({})); }; diff --git a/src/pages/Auth/Auth.jsx b/src/pages/Auth/Auth.jsx index 663be1c3..42cf790e 100644 --- a/src/pages/Auth/Auth.jsx +++ b/src/pages/Auth/Auth.jsx @@ -19,16 +19,16 @@ import cross from "assets/images/cross.png"; import "./auth.scss"; export const Auth = () => { - const isAuth = useSelector(selectAuth); - let navigate = useNavigate(); + // const isAuth = useSelector(selectAuth); + // let navigate = useNavigate(); + // + // const getToken = localStorage.getItem("auth_token"); - const getToken = localStorage.getItem("auth_token"); - - useEffect(() => { - if (isAuth || getToken) { - navigate("/profile"); - } - }, [getToken]); + // useEffect(() => { + // if (isAuth || getToken) { + // navigate("/profile"); + // } + // }, [getToken]); return (
    diff --git a/src/pages/MainPage/MainPage.jsx b/src/pages/MainPage/MainPage.jsx new file mode 100644 index 00000000..870b818d --- /dev/null +++ b/src/pages/MainPage/MainPage.jsx @@ -0,0 +1,36 @@ +import React from "react"; +import { useMemo } from "react"; +import { PartnerPage } from "@pages/roles/PartnerPage"; +import { DeveloperPage } from "@pages/roles/DeveloperPage"; +import { GuestPage } from "@pages/roles/GuestPage"; +import { useSelector } from "react-redux"; +import { selectAuth } from "@redux/outstaffingSlice"; + +export const MainPage = () => { + const roleId = localStorage.getItem("role_status") + const isAuth = useSelector(selectAuth); + const user_roles = { + developer: 4, + partner: 18 + } + + const CurrentRolePage = useMemo( + () => getRolePage(Number(roleId)), + [isAuth] + ); + + function getRolePage(roleId) { + switch (roleId) { + case user_roles.developer: + return DeveloperPage; + case user_roles.partner: + return PartnerPage; + default: + return GuestPage; + } + } + + return( + + ) +} diff --git a/src/pages/PartnerСategories/PartnerСategories.jsx b/src/pages/PartnerСategories/PartnerСategories.jsx index 5abf140f..d69da8cf 100644 --- a/src/pages/PartnerСategories/PartnerСategories.jsx +++ b/src/pages/PartnerСategories/PartnerСategories.jsx @@ -64,6 +64,17 @@ export const PartnerCategories = () => { }, { label: "Резюме", + renderCell: (item) => ( + + Резюме + + ) + }, + { + label: "Отчет", renderCell: (item) => ( { + return( + + } + > + } + /> + + + } /> + } /> + } /> + } + /> + } /> + } /> + } /> + } /> + } /> + } /> + + } /> + } /> + } /> + + + } /> + + ) +} diff --git a/src/pages/roles/GuestPage.jsx b/src/pages/roles/GuestPage.jsx new file mode 100644 index 00000000..8b783bab --- /dev/null +++ b/src/pages/roles/GuestPage.jsx @@ -0,0 +1,72 @@ +import React from "react"; +import { Navigate, Route, Routes } from "react-router-dom"; +import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"; +import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth"; +import { Forms } from "@pages/Forms/Forms"; +import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration"; +import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo"; +import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting"; +import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists"; +import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers"; +import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate"; +import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate"; +import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions"; +import { Blog } from "@pages/Blog/Blog"; +import { Article } from "@pages/Article/Article"; +import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion"; +import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage"; +import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate"; +import { Auth } from "@pages/Auth/Auth"; + +export const GuestPage = () => { + return( + + } /> + } /> + } /> + } /> + } /> + } + /> + } /> + } + /> + } + /> + } /> + } /> + } + /> + + }> + }> + } + /> + } + /> + + } /> + + } /> + + + ) +} diff --git a/src/pages/roles/PartnerPage.jsx b/src/pages/roles/PartnerPage.jsx new file mode 100644 index 00000000..2626d60b --- /dev/null +++ b/src/pages/roles/PartnerPage.jsx @@ -0,0 +1,71 @@ +import React from "react"; +import { Navigate, Route, Routes } from "react-router-dom"; +import { Candidate } from "@components/Candidate/Candidate"; +import { FormPage } from "@pages/FormPage/FormPage"; +import { Calendar } from "@components/Calendar/Calendar"; +import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; +import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; +import { Profile } from "@pages/Profile/Profile"; +import { Home } from "@pages/Home/Home"; +import { ViewReport } from "@pages/ViewReport/ViewReport"; +import { Tracker } from "@pages/Tracker/Tracker"; +import Statistics from "@pages/Statistics/Statistics"; +import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests"; +import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest"; +import { PartnerBid } from "@pages/PartnerBid/PartnerBid"; +import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories"; +import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport"; +import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; +import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees"; +import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings"; + +export const PartnerPage = () => { + return( + + } /> + } /> + } /> + + } + > + } + /> + + + } /> + } /> + } + /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } + /> + } /> + } + /> + + } /> + + ) +} diff --git a/src/redux/outstaffingSlice.js b/src/redux/outstaffingSlice.js index be040a7b..c6becf0d 100644 --- a/src/redux/outstaffingSlice.js +++ b/src/redux/outstaffingSlice.js @@ -6,7 +6,7 @@ const initialState = { filteredCandidates: null, selectedItems: [], currentCandidate: {}, - auth: false, + auth: null, positionId: null, profileInfo: {}, reportsDates: "", From 78f2b3481013aa3f2fb5f3369ff12a81417e9c5d Mon Sep 17 00:00:00 2001 From: Mikola Date: Fri, 15 Mar 2024 18:19:48 +0300 Subject: [PATCH 03/10] guardian routes --- src/App.jsx | 4 +- .../ProfileHeader/ProfileHeader.jsx | 2 +- src/pages/MainPage/MainPage.jsx | 23 +++++----- .../PartnerСategories/PartnerСategories.jsx | 5 +-- src/pages/roles/DeveloperPage.jsx | 44 ++++++++----------- src/pages/roles/GuestPage.jsx | 38 ++++++++-------- src/pages/roles/PartnerPage.jsx | 42 ++++++++---------- 7 files changed, 72 insertions(+), 86 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 8ff100d6..df7a76e4 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -9,9 +9,11 @@ import { } from "react-router-dom"; import { getNotification } from "@redux/outstaffingSlice"; -import { Notification } from "@components/Notification/Notification"; + import { MainPage } from "@pages/MainPage/MainPage"; +import { Notification } from "@components/Notification/Notification"; + import "assets/fonts/stylesheet.css"; import "assets/global.scss"; diff --git a/src/components/ProfileHeader/ProfileHeader.jsx b/src/components/ProfileHeader/ProfileHeader.jsx index b143939b..9ed70487 100644 --- a/src/components/ProfileHeader/ProfileHeader.jsx +++ b/src/components/ProfileHeader/ProfileHeader.jsx @@ -92,7 +92,7 @@ export const ProfileHeader = () => { }, []); const handler = (e) => { - e.preventDefault() + e.preventDefault(); localStorage.clear(); dispatch(auth(false)); navigate("/auth"); diff --git a/src/pages/MainPage/MainPage.jsx b/src/pages/MainPage/MainPage.jsx index 870b818d..566c1921 100644 --- a/src/pages/MainPage/MainPage.jsx +++ b/src/pages/MainPage/MainPage.jsx @@ -1,23 +1,22 @@ import React from "react"; import { useMemo } from "react"; -import { PartnerPage } from "@pages/roles/PartnerPage"; -import { DeveloperPage } from "@pages/roles/DeveloperPage"; -import { GuestPage } from "@pages/roles/GuestPage"; import { useSelector } from "react-redux"; + import { selectAuth } from "@redux/outstaffingSlice"; +import { DeveloperPage } from "@pages/roles/DeveloperPage"; +import { GuestPage } from "@pages/roles/GuestPage"; +import { PartnerPage } from "@pages/roles/PartnerPage"; + export const MainPage = () => { - const roleId = localStorage.getItem("role_status") + const roleId = localStorage.getItem("role_status"); const isAuth = useSelector(selectAuth); const user_roles = { developer: 4, partner: 18 - } + }; - const CurrentRolePage = useMemo( - () => getRolePage(Number(roleId)), - [isAuth] - ); + const CurrentRolePage = useMemo(() => getRolePage(Number(roleId)), [isAuth]); function getRolePage(roleId) { switch (roleId) { @@ -30,7 +29,5 @@ export const MainPage = () => { } } - return( - - ) -} + return ; +}; diff --git a/src/pages/PartnerСategories/PartnerСategories.jsx b/src/pages/PartnerСategories/PartnerСategories.jsx index d69da8cf..8266df93 100644 --- a/src/pages/PartnerСategories/PartnerСategories.jsx +++ b/src/pages/PartnerСategories/PartnerСategories.jsx @@ -65,10 +65,7 @@ export const PartnerCategories = () => { { label: "Резюме", renderCell: (item) => ( - + Резюме ) diff --git a/src/pages/roles/DeveloperPage.jsx b/src/pages/roles/DeveloperPage.jsx index a66c0d90..b083f7c0 100644 --- a/src/pages/roles/DeveloperPage.jsx +++ b/src/pages/roles/DeveloperPage.jsx @@ -1,44 +1,38 @@ import React from "react"; -import { Navigate, Route, Routes } from "react-router-dom";; +import { Navigate, Route, Routes } from "react-router-dom"; + +import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings"; +import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; +import { Payouts } from "@pages/Payouts/Payouts"; import { Profile } from "@pages/Profile/Profile"; -import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar"; -import { ReportForm } from "@components/ReportForm/ReportForm"; -import { ViewReport } from "@pages/ViewReport/ViewReport"; +import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; +import { PassingTests } from "@pages/Quiz/PassingTests"; +import { QuizPage } from "@pages/Quiz/QuizPage"; +import { QuizReportPage } from "@pages/Quiz/QuizReportPage"; +import Statistics from "@pages/Statistics/Statistics"; import { Summary } from "@pages/Summary/Summary"; import { Tracker } from "@pages/Tracker/Tracker"; -import Statistics from "@pages/Statistics/Statistics"; -import { Payouts } from "@pages/Payouts/Payouts"; -import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; -import { QuizPage } from "@pages/Quiz/QuizPage"; -import { PassingTests } from "@pages/Quiz/PassingTests"; -import { QuizReportPage } from "@pages/Quiz/QuizReportPage"; -import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings"; -import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; +import { ViewReport } from "@pages/ViewReport/ViewReport"; + import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; +import { ProfileCalendar } from "@components/ProfileCalendar/ProfileCalendar"; +import { ReportForm } from "@components/ReportForm/ReportForm"; export const DeveloperPage = () => { - return( + return ( } > - } - /> + } /> } /> } /> } /> - } - /> + } /> } /> } /> } /> @@ -53,5 +47,5 @@ export const DeveloperPage = () => { } /> - ) -} + ); +}; diff --git a/src/pages/roles/GuestPage.jsx b/src/pages/roles/GuestPage.jsx index 8b783bab..359dddab 100644 --- a/src/pages/roles/GuestPage.jsx +++ b/src/pages/roles/GuestPage.jsx @@ -1,25 +1,27 @@ import React from "react"; import { Navigate, Route, Routes } from "react-router-dom"; -import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"; -import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth"; -import { Forms } from "@pages/Forms/Forms"; -import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration"; -import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo"; -import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting"; -import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists"; -import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers"; -import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate"; -import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate"; -import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions"; -import { Blog } from "@pages/Blog/Blog"; + import { Article } from "@pages/Article/Article"; -import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion"; -import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage"; -import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate"; import { Auth } from "@pages/Auth/Auth"; +import { AuthForCandidate } from "@pages/AuthForCandidate/AuthForCandidate"; +import { Blog } from "@pages/Blog/Blog"; +import CatalogSpecialists from "@pages/CatalogSpecialists/CatalogSpecialists"; +import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo"; +import { Forms } from "@pages/Forms/Forms"; +import { FrequentlyAskedQuestion } from "@pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion"; +import { FrequentlyAskedQuestions } from "@pages/FrequentlyAskedQuestions/FrequentlyAskedQuestions"; +import { ProfileCandidate } from "@pages/ProfileCandidate/ProfileCandidate"; +import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/RegistrationForCandidate"; +import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting"; +import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage"; +import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth"; +import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"; +import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration"; + +import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers"; export const GuestPage = () => { - return( + return ( } /> } /> @@ -68,5 +70,5 @@ export const GuestPage = () => { } /> - ) -} + ); +}; diff --git a/src/pages/roles/PartnerPage.jsx b/src/pages/roles/PartnerPage.jsx index 2626d60b..a94d9f5c 100644 --- a/src/pages/roles/PartnerPage.jsx +++ b/src/pages/roles/PartnerPage.jsx @@ -1,26 +1,28 @@ import React from "react"; import { Navigate, Route, Routes } from "react-router-dom"; -import { Candidate } from "@components/Candidate/Candidate"; + import { FormPage } from "@pages/FormPage/FormPage"; -import { Calendar } from "@components/Calendar/Calendar"; -import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; -import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; -import { Profile } from "@pages/Profile/Profile"; import { Home } from "@pages/Home/Home"; -import { ViewReport } from "@pages/ViewReport/ViewReport"; -import { Tracker } from "@pages/Tracker/Tracker"; -import Statistics from "@pages/Statistics/Statistics"; -import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests"; import { PartnerAddRequest } from "@pages/PartnerAddRequest/PartnerAddRequest"; import { PartnerBid } from "@pages/PartnerBid/PartnerBid"; -import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories"; import { PartnerEmployeeReport } from "@pages/PartnerEmployeeReport/PartnerEmployeeReport"; -import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; import { PartnerEmployees } from "@pages/PartnerEmployees/PartnerEmployees"; +import { PartnerRequests } from "@pages/PartnerRequests/PartnerRequests"; import { PartnerSettings } from "@pages/PartnerSettings/PartnerSettings"; +import { PartnerTreaties } from "@pages/PartnerTreaties/PartnerTreaties"; +import { PartnerCategories } from "@pages/PartnerСategories/PartnerСategories"; +import { Profile } from "@pages/Profile/Profile"; +import { ProjectTracker } from "@pages/ProjectTracker/ProjectTracker"; +import Statistics from "@pages/Statistics/Statistics"; +import { Tracker } from "@pages/Tracker/Tracker"; +import { ViewReport } from "@pages/ViewReport/ViewReport"; + +import { Calendar } from "@components/Calendar/Calendar"; +import { Candidate } from "@components/Candidate/Candidate"; +import { TicketFullScreen } from "@components/Modal/Tracker/TicketFullScreen/TicketFullScreen"; export const PartnerPage = () => { - return( + return ( } /> } /> @@ -31,20 +33,12 @@ export const PartnerPage = () => { path="/tracker/task/:id" element={} > - } - /> + } /> } /> } /> - } - /> + } /> } /> } /> } /> @@ -67,5 +61,5 @@ export const PartnerPage = () => { } /> - ) -} + ); +}; From 882bdfcc24c0eaa039c833451b24f40b9930ca07 Mon Sep 17 00:00:00 2001 From: Victor Batischev Date: Mon, 18 Mar 2024 18:47:31 +0300 Subject: [PATCH 04/10] small fixes --- package-lock.json | 904 +++--------------- .../ProfileHeader/ProfileHeader.jsx | 3 - src/hooks/useFormValidation.js | 2 +- .../PartnerEmployees/PartnerEmployees.jsx | 9 +- .../PartnerSettings/partnerSettings.scss | 1 - src/pages/Profile/Profile.jsx | 30 +- src/pages/Quiz/QuizReportPage.jsx | 2 - .../RegistrationForCandidate.jsx | 1 - src/pages/Statistics/Statistics.jsx | 2 - src/pages/TrackerAuth/TrackerAuth.jsx | 7 - 10 files changed, 144 insertions(+), 817 deletions(-) diff --git a/package-lock.json b/package-lock.json index c747c6c0..e8e29b9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "guild_front", + "name": "outstaffing-react", "version": "0.1.0", "lockfileVersion": 3, "requires": true, @@ -2957,7 +2957,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "devOptional": true, + "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -2972,7 +2972,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2984,7 +2984,7 @@ "version": "4.5.1", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2993,7 +2993,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", - "devOptional": true, + "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -3016,13 +3016,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "devOptional": true + "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.20.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "devOptional": true, + "dev": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -3037,7 +3037,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "devOptional": true, + "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -3049,7 +3049,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" }, @@ -3061,7 +3061,7 @@ "version": "8.43.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz", "integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -3089,7 +3089,7 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "devOptional": true, + "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -3103,7 +3103,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=12.22" }, @@ -3116,7 +3116,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "devOptional": true + "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -4571,6 +4571,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, "engines": { "node": ">=6.0.0" } @@ -4579,6 +4580,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, "engines": { "node": ">=6.0.0" } @@ -4587,6 +4589,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -4596,6 +4599,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -4608,12 +4612,14 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.17", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -5214,95 +5220,6 @@ "react-dom": ">=16.8.0" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", - "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { "version": "5.16.5", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", @@ -5650,12 +5567,6 @@ "node": ">=10.13.0" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "peer": true - }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -5745,6 +5656,7 @@ "version": "8.21.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", + "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -5754,6 +5666,7 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -5762,7 +5675,8 @@ "node_modules/@types/estree": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.17", @@ -6565,6 +6479,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -6573,22 +6488,26 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -6598,12 +6517,14 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -6615,6 +6536,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -6623,6 +6545,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -6630,12 +6553,14 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -6651,6 +6576,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -6663,6 +6589,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -6674,6 +6601,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -6687,6 +6615,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -6739,12 +6668,14 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/abab": { "version": "2.0.6", @@ -6775,7 +6706,7 @@ "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "devOptional": true, + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -6797,7 +6728,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "devOptional": true, + "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -7189,28 +7120,6 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", @@ -7300,25 +7209,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/axe-core": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", @@ -7741,17 +7631,6 @@ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/bfj": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", @@ -7958,7 +7837,8 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/builtin-modules": { "version": "3.3.0", @@ -8175,14 +8055,6 @@ "node": ">=4" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -8287,6 +8159,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, "engines": { "node": ">=6.0" } @@ -9355,20 +9228,6 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", @@ -9399,7 +9258,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -9497,7 +9356,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "devOptional": true + "dev": true }, "node_modules/deepmerge": { "version": "4.3.0", @@ -9706,7 +9565,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "devOptional": true, + "dev": true, "dependencies": { "esutils": "^2.0.2" }, @@ -9878,18 +9737,6 @@ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -10105,7 +9952,8 @@ "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true }, "node_modules/es-set-tostringtag": { "version": "2.0.1", @@ -10286,7 +10134,7 @@ "version": "8.43.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz", "integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==", - "devOptional": true, + "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", @@ -10599,6 +10447,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -10611,6 +10460,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { "node": ">=4.0" } @@ -10761,7 +10611,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -10776,13 +10626,13 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "devOptional": true + "dev": true }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "devOptional": true, + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10798,7 +10648,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -10810,13 +10660,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true + "dev": true }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" }, @@ -10828,7 +10678,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "devOptional": true, + "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -10844,7 +10694,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -10856,7 +10706,7 @@ "version": "13.20.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "devOptional": true, + "dev": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -10871,7 +10721,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -10880,7 +10730,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "devOptional": true, + "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -10892,7 +10742,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "devOptional": true, + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10904,7 +10754,7 @@ "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=10" }, @@ -10916,7 +10766,7 @@ "version": "9.5.2", "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", - "devOptional": true, + "dev": true, "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -10933,7 +10783,7 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "devOptional": true, + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -10945,7 +10795,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "devOptional": true, + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -10970,7 +10820,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "devOptional": true, + "dev": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -10982,6 +10832,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -10993,6 +10844,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } @@ -11007,7 +10859,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -11031,6 +10883,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, "engines": { "node": ">=0.8.x" } @@ -11181,25 +11034,6 @@ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "peer": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -11240,7 +11074,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "devOptional": true + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.16", @@ -11296,7 +11130,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "devOptional": true, + "dev": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -11447,7 +11281,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "devOptional": true, + "dev": true, "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -11460,7 +11294,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "devOptional": true + "dev": true }, "node_modules/follow-redirects": { "version": "1.15.2", @@ -11489,17 +11323,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", @@ -11886,17 +11709,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -11920,7 +11732,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "devOptional": true, + "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -11931,7 +11743,8 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/global-modules": { "version": "2.0.0", @@ -12082,7 +11895,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "devOptional": true + "dev": true }, "node_modules/gzip-size": { "version": "6.0.0", @@ -12104,33 +11917,6 @@ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -12560,23 +12346,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -12725,7 +12494,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.8.19" } @@ -13071,7 +12840,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" } @@ -13279,14 +13048,6 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -16953,6 +16714,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16966,6 +16728,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -16974,6 +16737,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -16984,12 +16748,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jquery": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", - "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", - "peer": true - }, "node_modules/js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", @@ -17014,14 +16772,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/jsdom": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", @@ -17149,15 +16899,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "devOptional": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "optional": true, - "peer": true + "dev": true }, "node_modules/json2mq": { "version": "0.2.0", @@ -17198,23 +16940,6 @@ "node": ">=0.10.0" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", @@ -17281,7 +17006,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "devOptional": true, + "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -17308,6 +17033,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, "engines": { "node": ">=6.11.5" } @@ -17363,7 +17089,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "devOptional": true + "dev": true }, "node_modules/lodash.reduce": { "version": "4.6.0", @@ -17593,7 +17319,8 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", @@ -17918,7 +17645,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true + "dev": true }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -17955,7 +17682,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "devOptional": true + "dev": true }, "node_modules/natural-compare-lite": { "version": "1.4.0", @@ -17975,7 +17702,8 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/next-tick": { "version": "1.1.0", @@ -18469,17 +18197,6 @@ "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", "dev": true }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -18701,7 +18418,7 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "devOptional": true, + "dev": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -19080,17 +18797,6 @@ "node": ">=4" } }, - "node_modules/popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -20371,27 +20077,11 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "devOptional": true, + "dev": true, "engines": { "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", @@ -20418,6 +20108,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -20431,6 +20122,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { "node": ">=10" }, @@ -20652,6 +20344,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -21260,38 +20953,6 @@ "node": ">=8.9" } }, - "node_modules/react-scripts/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-scripts/node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/react-scripts/node_modules/babel-loader": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", @@ -21311,46 +20972,6 @@ "webpack": ">=2" } }, - "node_modules/react-scripts/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-scripts/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-scripts/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/react-scripts/node_modules/dotenv": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", @@ -21460,39 +21081,6 @@ "node": ">=12" } }, - "node_modules/react-scripts/node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-scripts/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/react-scripts/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -21505,52 +21093,6 @@ "node": ">=10" } }, - "node_modules/react-scripts/node_modules/node-sass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", - "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "^4.0.1", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/react-scripts/node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, "node_modules/react-scripts/node_modules/picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", @@ -21738,31 +21280,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-scripts/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-scripts/node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "glob": "^7.1.2" - } - }, "node_modules/react-scripts/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -22266,94 +21783,6 @@ "strip-ansi": "^6.0.1" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -22586,7 +22015,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -22698,6 +22127,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, "funding": [ { "type": "github", @@ -22882,6 +22312,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -22992,6 +22423,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -23296,6 +22728,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -23305,6 +22738,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -23399,33 +22833,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -23700,7 +23107,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8" }, @@ -24107,6 +23514,7 @@ "version": "5.16.5", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", + "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -24124,6 +23532,7 @@ "version": "5.3.6", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", @@ -24157,6 +23566,7 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -24167,7 +23577,8 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/test-exclude": { "version": "6.0.0", @@ -24471,28 +23882,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -24502,7 +23891,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "devOptional": true, + "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -24566,19 +23955,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -24871,30 +24247,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "peer": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -24938,6 +24290,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -24974,6 +24327,7 @@ "version": "5.75.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -25453,6 +24807,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, "engines": { "node": ">=10.13.0" } @@ -25460,12 +24815,14 @@ "node_modules/webpack/node_modules/@types/estree": { "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true }, "node_modules/webpack/node_modules/acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -25477,6 +24834,7 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, "peerDependencies": { "acorn": "^8" } @@ -25631,7 +24989,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } diff --git a/src/components/ProfileHeader/ProfileHeader.jsx b/src/components/ProfileHeader/ProfileHeader.jsx index 9ed70487..2b7da96a 100644 --- a/src/components/ProfileHeader/ProfileHeader.jsx +++ b/src/components/ProfileHeader/ProfileHeader.jsx @@ -143,9 +143,6 @@ export const ProfileHeader = () => {
    - {/*
    - -
    */}
    diff --git a/src/pages/AuthForCandidate/AuthForCandidate.jsx b/src/pages/AuthForCandidate/AuthForCandidate.jsx index 50eed96b..f375b8ba 100644 --- a/src/pages/AuthForCandidate/AuthForCandidate.jsx +++ b/src/pages/AuthForCandidate/AuthForCandidate.jsx @@ -111,13 +111,6 @@ export const AuthForCandidate = () => {
    -

    Хочу в команду IT-специалистов diff --git a/src/pages/TrackerIntro/TrackerIntro.jsx b/src/pages/TrackerIntro/TrackerIntro.jsx index 4983133e..0d870f54 100644 --- a/src/pages/TrackerIntro/TrackerIntro.jsx +++ b/src/pages/TrackerIntro/TrackerIntro.jsx @@ -57,7 +57,7 @@ export const TrackerIntro = () => { Управление большим количеством проектов и гибкая настройка структуры под любые процессы

    - + Начать работу

    diff --git a/src/pages/TrackerRegistration/TrackerRegistration.jsx b/src/pages/TrackerRegistration/TrackerRegistration.jsx deleted file mode 100644 index 5c8f4345..00000000 --- a/src/pages/TrackerRegistration/TrackerRegistration.jsx +++ /dev/null @@ -1,163 +0,0 @@ -import React, { useState } from "react"; -import { Navigate } from "react-router-dom"; - -import { useFormValidation } from "@hooks/useFormValidation"; -import { useNotification } from "@hooks/useNotification"; - -import { AuthHeader } from "@components/Common/AuthHeader/AuthHeader"; -import BaseButton from "@components/Common/BaseButton/BaseButton"; -import { Footer } from "@components/Common/Footer/Footer"; -import { Loader } from "@components/Common/Loader/Loader"; -import ModalLayout from "@components/Common/ModalLayout/ModalLayout"; -import { ModalTrackerRegistration } from "@components/Modal/ModalTrackerRegistration/ModalTrackerRegistration"; -import SideBar from "@components/SideBar/SideBar"; - -import arrowInfo from "assets/icons/trackerIntroInfo.svg"; -import authImg from "assets/images/partnerProfile/authCandidateFormImg.png"; -import registrationImg from "assets/images/trackerRegistrationImg.png"; - -import "./trackerRegistration.scss"; - -export const TrackerRegistration = () => { - const [modalConfirmOpen, setModalConfirm] = useState(false); - const [loader, setLoader] = useState(false); - const [isPartner, setIsPartner] = useState(false); - const fields = { - username: "", - email: "", - password: "", - secondPassword: "" - }; - - const apiEndpoint = "/register/sign-up"; - - const { showNotification } = useNotification(); - const showNotificationError = (error) => { - showNotification({ - show: true, - text: error, - type: "error" - }); - }; - const showNotificationTrue = () => { - showNotification({ - show: true, - text: "Аккаунт успешно создан", - type: "success" - }); - }; - - const { formData, validationErrors, handleChange, handleSubmit } = - useFormValidation( - apiEndpoint, - fields, - showNotificationError, - showNotificationTrue, - isPartner, - setLoader - ); - return ( -
    - - -
    -
    -

    - Создайте свое{" "} - - рабочее пространство - arrow - -

    -
    -
    -
    -
    Ваше имя
    - - {validationErrors.username} -
    -
    -
    Ваш e-mail
    - - {validationErrors.email} -
    -
    -
    Придумайте пароль
    - - {validationErrors.password} -
    -
    -
    Повторите пароль
    - - {validationErrors.secondPassword} -
    -
    -
    - {loader ? ( - - ) : ( - { - e.preventDefault(); - await handleSubmit(e); - }} - styles="button-box__submit" - > - Отправить - - )} -
    - img -

    - Создавайте и редактируйте задачи и проекты вместе с другими - участниками команды. -

    -
    -
    - img -
    -
    - {modalConfirmOpen && ( - - - - )} -
    -
    -
    - ); -}; diff --git a/src/pages/TrackerRegistration/trackerRegistration.scss b/src/pages/TrackerRegistration/trackerRegistration.scss deleted file mode 100644 index 090fe428..00000000 --- a/src/pages/TrackerRegistration/trackerRegistration.scss +++ /dev/null @@ -1,150 +0,0 @@ -.tracker-registration { - display: flex; - flex-direction: column; - min-height: 100vh; - background-color: #f1f1f1; - - &__content { - display: flex; - flex-direction: column; - flex: 1; - color: #000000; - padding: 50px 0 0; - - @media (max-width: 1375px) { - padding-top: 100px; - } - - .container { - padding-bottom: 30px; - } - } - - &__form { - position: relative; - border-radius: 12px; - background: #fff; - padding: 20px; - - @media (max-width: 1000px) { - display: flex; - flex-direction: column; - padding: 0; - } - - &__inputs { - display: flex; - flex-wrap: wrap; - max-width: 650px; - column-gap: 44px; - - @media (max-width: 1000px) { - order: 2; - } - } - - &__submit { - display: flex; - align-items: center; - margin-top: 5px; - - button { - border-radius: 44px; - padding: 9px 39px; - background: #52b709; - font-weight: 500; - font-size: 18px; - color: #fff; - border: none; - max-width: 170px; - } - - @media (max-width: 1000px) { - order: 3; - } - - @media (max-width: 675px) { - flex-direction: column; - align-items: start; - row-gap: 35px; - } - - .loader { - max-width: 170px; - } - } - - &__info { - display: flex; - margin-left: 165px; - align-items: center; - img { - margin-right: 31px; - - @media (max-width: 675px) { - margin-right: 27px; - } - } - - p { - font-size: 16px; - font-weight: 400; - line-height: 22px; - color: #000; - max-width: 430px; - - @media (max-width: 675px) { - font-size: 14px; - } - } - } - - &__img { - position: absolute; - top: -100px; - right: 58px; - - @media (max-width: 900px) { - display: none; - } - } - } - &__input-container { - display: flex; - flex-direction: column; - max-width: 300px; - width: 100%; - margin-bottom: 44px; - - h5 { - font-size: 15px; - } - - span { - font-weight: 400; - font-size: 12px; - color: red; - } - - input { - outline: none; - padding: 8px 12px 9px; - background-color: #eff2f7; - border-radius: 8px; - margin: 10px 0; - border: none; - font-weight: 400; - font-size: 15px; - color: #000; - } - - @media (max-width: 675px) { - margin-bottom: 0; - max-width: none; - } - - .error { - border: 1px solid red; - } - } -} diff --git a/src/pages/roles/GuestPage.jsx b/src/pages/roles/GuestPage.jsx index 66074223..ee761bf1 100644 --- a/src/pages/roles/GuestPage.jsx +++ b/src/pages/roles/GuestPage.jsx @@ -15,7 +15,6 @@ import { RegistrationForCandidate } from "@pages/RegistrationForCandidate/Regist import { RegistrationSetting } from "@pages/RegistrationSetting/RegistrationSetting"; import { SingleReportPage } from "@pages/SingleReportPage/SingleReportPage"; import { TrackerIntro } from "@pages/TrackerIntro/TrackerIntro"; -import { TrackerRegistration } from "@pages/TrackerRegistration/TrackerRegistration"; import { FreeDevelopers } from "@components/FreeDevelopers/FreeDevelopers"; @@ -26,11 +25,6 @@ export const GuestPage = () => { } /> } /> } /> - } - /> } /> Date: Tue, 19 Mar 2024 15:27:28 +0300 Subject: [PATCH 07/10] small fix --- src/components/Modal/Tracker/ModalTicket/modalTicket.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Modal/Tracker/ModalTicket/modalTicket.scss b/src/components/Modal/Tracker/ModalTicket/modalTicket.scss index 784733f0..18abd485 100644 --- a/src/components/Modal/Tracker/ModalTicket/modalTicket.scss +++ b/src/components/Modal/Tracker/ModalTicket/modalTicket.scss @@ -1196,9 +1196,10 @@ .edit { background: #52b709; border-radius: 50px; - + width: fit-content; p { font-weight: 700; + padding-right: 10px; } } From 6afccb19d88cd350f3034843e7db7bdd8d15a6b7 Mon Sep 17 00:00:00 2001 From: Mikola Date: Tue, 19 Mar 2024 16:39:00 +0300 Subject: [PATCH 08/10] error boundary and table pagination --- .../{ErrorBoundary.js => ErrorBoundary.jsx} | 3 +- src/hoc/Fallback.jsx | 20 +++++++++++++ src/hoc/fallback.scss | 19 +++++++++++++ src/index.js | 9 ++++-- .../PartnerСategories/PartnerСategories.jsx | 28 +++++++++++++++++++ .../partnerСategories.scss | 14 ++++++++++ 6 files changed, 89 insertions(+), 4 deletions(-) rename src/hoc/{ErrorBoundary.js => ErrorBoundary.jsx} (82%) create mode 100644 src/hoc/Fallback.jsx create mode 100644 src/hoc/fallback.scss diff --git a/src/hoc/ErrorBoundary.js b/src/hoc/ErrorBoundary.jsx similarity index 82% rename from src/hoc/ErrorBoundary.js rename to src/hoc/ErrorBoundary.jsx index c031a11e..d5d0daeb 100644 --- a/src/hoc/ErrorBoundary.js +++ b/src/hoc/ErrorBoundary.jsx @@ -1,4 +1,5 @@ import React, { Component } from "react"; +import { Fallback } from "./Fallback"; class ErrorBoundary extends Component { state = { @@ -13,7 +14,7 @@ class ErrorBoundary extends Component { const { error } = this.state; if (error) { - return
    Что-то пошло не так =( {error}
    ; + return ; } return this.props.children; } diff --git a/src/hoc/Fallback.jsx b/src/hoc/Fallback.jsx new file mode 100644 index 00000000..12ba6863 --- /dev/null +++ b/src/hoc/Fallback.jsx @@ -0,0 +1,20 @@ +import React from "react"; +import logo from "assets/images/logo/ITguild.svg"; + +import rightArrow from "assets/icons/arrows/arrowRight.svg"; + +import './fallback.scss' + +export const Fallback = () => { + + return ( +
    + logo +

    Произошла непредвиденная ошибка

    + + Вернуться назад + arrow + +
    + ); +}; diff --git a/src/hoc/fallback.scss b/src/hoc/fallback.scss new file mode 100644 index 00000000..62580ac2 --- /dev/null +++ b/src/hoc/fallback.scss @@ -0,0 +1,19 @@ +.fallback { + display: flex; + flex-direction: column; + align-items: center; + padding: 100px; + gap: 15px; + + img { + max-width: 250px; + } + + a { + display: flex; + column-gap: 10px; + align-items: center; + font-size: 16px; + color: black; + } +} diff --git a/src/index.js b/src/index.js index d03a525d..f7ad3428 100644 --- a/src/index.js +++ b/src/index.js @@ -1,13 +1,16 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { Provider } from "react-redux"; +import ErrorBoundary from "./hoc/ErrorBoundary"; import App from "./App"; import "./index.css"; import { store } from "./store/store"; ReactDOM.createRoot(document.getElementById("root")).render( - - - + + + + + ); diff --git a/src/pages/PartnerСategories/PartnerСategories.jsx b/src/pages/PartnerСategories/PartnerСategories.jsx index 8266df93..9ab29312 100644 --- a/src/pages/PartnerСategories/PartnerСategories.jsx +++ b/src/pages/PartnerСategories/PartnerСategories.jsx @@ -14,6 +14,7 @@ import { Loader } from "@components/Common/Loader/Loader"; import { Navigation } from "@components/Navigation/Navigation"; import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadcrumbs"; import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; +import { usePagination } from "@table-library/react-table-library/pagination"; import rightArrow from "assets/icons/arrows/arrowRight.svg"; @@ -101,6 +102,13 @@ export const PartnerCategories = () => { } ); + const pagination = usePagination(data, { + state: { + page: 0, + size: 5, + } + }); + useEffect(() => { setLoader(true); apiRequest("/project/my-employee").then((el) => { @@ -259,7 +267,27 @@ export const PartnerCategories = () => { data={data} theme={theme} sort={sort} + pagination={pagination} /> +
    + Total Pages: {pagination.state.getTotalPages(data.nodes)} + + + Page:{" "} + {pagination.state.getPages(data.nodes).map((_, index) => ( + + ))} + +
    ) : (
    diff --git a/src/pages/PartnerСategories/partnerСategories.scss b/src/pages/PartnerСategories/partnerСategories.scss index 6f2b840c..e7d2dd26 100644 --- a/src/pages/PartnerСategories/partnerСategories.scss +++ b/src/pages/PartnerСategories/partnerСategories.scss @@ -176,5 +176,19 @@ font-size: 16px; align-items: center; } + + &__pagination { + width: 100%; + display: flex; + justify-content: space-between; + font-size: 16px; + align-items: center; + } + + &__pages { + display: flex; + column-gap: 5px; + align-items: center; + } } } From 2a5991da1f5458a3725ce5ce9d42fee77cf21088 Mon Sep 17 00:00:00 2001 From: Mikola Date: Tue, 19 Mar 2024 16:39:36 +0300 Subject: [PATCH 09/10] error boundary and table pagination --- .../ProfileCalendar/ProfileCalendarComponent.jsx | 8 ++++---- src/hoc/ErrorBoundary.jsx | 1 + src/hoc/Fallback.jsx | 7 +++---- src/index.js | 2 +- src/pages/PartnerСategories/PartnerСategories.jsx | 11 +++++++---- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx index ed947e10..0ccc2649 100644 --- a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx +++ b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx @@ -286,15 +286,15 @@ export const ProfileCalendarComponent = React.memo( ? `${getCorrectDate(startDate)} - ${getCorrectDate(endDate)}` : `${getCorrectDate(endDate)} - ${getCorrectDate(startDate)}` : activePeriod - ? "Выберите диапазон на календаре" - : "Выбрать диапазон"} + ? "Выберите диапазон на календаре" + : "Выбрать диапазон"} {totalRangeHours ? `${totalRangeHours} ${hourOfNum(totalRangeHours)}` : endDate - ? "0 часов" - : ""} + ? "0 часов" + : ""} {endDate && ( { - return (
    logo

    Произошла непредвиденная ошибка

    - + Вернуться назад arrow diff --git a/src/index.js b/src/index.js index f7ad3428..ee6aaa8c 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,9 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { Provider } from "react-redux"; -import ErrorBoundary from "./hoc/ErrorBoundary"; import App from "./App"; +import ErrorBoundary from "./hoc/ErrorBoundary"; import "./index.css"; import { store } from "./store/store"; diff --git a/src/pages/PartnerСategories/PartnerСategories.jsx b/src/pages/PartnerСategories/PartnerСategories.jsx index 9ab29312..8799a793 100644 --- a/src/pages/PartnerСategories/PartnerСategories.jsx +++ b/src/pages/PartnerСategories/PartnerСategories.jsx @@ -1,5 +1,6 @@ import { getTheme } from "@table-library/react-table-library/baseline"; import { CompactTable } from "@table-library/react-table-library/compact"; +import { usePagination } from "@table-library/react-table-library/pagination"; import { useSort } from "@table-library/react-table-library/sort"; import { useTheme } from "@table-library/react-table-library/theme"; import React, { useEffect, useState } from "react"; @@ -14,7 +15,6 @@ 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 { usePagination } from "@table-library/react-table-library/pagination"; import rightArrow from "assets/icons/arrows/arrowRight.svg"; @@ -105,7 +105,7 @@ export const PartnerCategories = () => { const pagination = usePagination(data, { state: { page: 0, - size: 5, + size: 5 } }); @@ -270,7 +270,9 @@ export const PartnerCategories = () => { pagination={pagination} />
    - Total Pages: {pagination.state.getTotalPages(data.nodes)} + + Total Pages: {pagination.state.getTotalPages(data.nodes)} + Page:{" "} @@ -279,7 +281,8 @@ export const PartnerCategories = () => { key={index} type="button" style={{ - fontWeight: pagination.state.page === index ? "bold" : "normal", + fontWeight: + pagination.state.page === index ? "bold" : "normal" }} onClick={() => pagination.fns.onSetPage(index)} > From 77628b0de440f9ea3b0f82719ba774cf3993065b Mon Sep 17 00:00:00 2001 From: Mikola Date: Tue, 19 Mar 2024 16:41:33 +0300 Subject: [PATCH 10/10] error boundary and table pagination --- src/hoc/fallback.scss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/hoc/fallback.scss b/src/hoc/fallback.scss index 62580ac2..3702fb8f 100644 --- a/src/hoc/fallback.scss +++ b/src/hoc/fallback.scss @@ -13,7 +13,12 @@ display: flex; column-gap: 10px; align-items: center; - font-size: 16px; + font-size: 20px; color: black; + transition: all 0.3s ease; + + &:hover { + scale: 1.1; + } } }