Procházet zdrojové kódy

Secure routes

pull/134/head
unknown před 3 roky
rodič
revize
47656eac23

+ 23
- 0
src/assets/styles/components/_patterns.scss Zobrazit soubor

height: 12px; height: 12px;
} }


.pattern-details-card-sub-card-message-pattern {
display: flex;
flex-direction: column;
height: 256px !important;
border: 2px solid#ccc !important;
background:rgb(224, 224, 224) !important;
border-radius: 6px;
padding: 1rem;
}

.pattern-details-card-sub-card-message-pattern ul {
list-style: disc;
padding: 1rem 2rem;
}

.pattern-details-card-sub-card-message-pattern textarea { .pattern-details-card-sub-card-message-pattern textarea {
resize: none; resize: none;
width: 100%; width: 100%;
margin-bottom: 9px; margin-bottom: 9px;
} }


.add-pattern-modal-form-control .tox {
height: 300px !important;
}

.add-pattern-modal-form-control label { .add-pattern-modal-form-control label {
font-family: "Source Sans Pro"; font-family: "Source Sans Pro";
font-style: normal; font-style: normal;
margin-bottom: 9px; margin-bottom: 9px;
} }


.edit-pattern-modal-form-control .tox {
height: 300px !important;
}

.edit-pattern-modal-form-control label { .edit-pattern-modal-form-control label {
font-family: "Source Sans Pro"; font-family: "Source Sans Pro";
font-style: normal; font-style: normal;

+ 1
- 1
src/constants/pages.js Zobrazit soubor

export const FORGOT_PASSWORD_CONFIRMATION_PAGE = '/forgot-password-confirmation'; export const FORGOT_PASSWORD_CONFIRMATION_PAGE = '/forgot-password-confirmation';
export const RESET_PASSWORD_PAGE = '/reset-password'; export const RESET_PASSWORD_PAGE = '/reset-password';
export const SELECTION_PROCESS_PAGE = '/selectionFlow'; export const SELECTION_PROCESS_PAGE = '/selectionFlow';
export const SELECTION_PROCESS_OF_APPLICANT_PAGE = '/selectionflow/:id';
export const SELECTION_PROCESS_OF_APPLICANT_PAGE = '/selectionFlow/:id';
export const PATTERNS_PAGE = '/patterns'; export const PATTERNS_PAGE = '/patterns';
export const PATTERN_DETAILS_PAGE = '/patterns/:id'; export const PATTERN_DETAILS_PAGE = '/patterns/:id';
export const SCHEDULE_PAGE = '/schedule' export const SCHEDULE_PAGE = '/schedule'

+ 4
- 1
src/pages/PatternsPage/PatternDetailsPage.js Zobrazit soubor

import { selectPatternApplicants } from "../../store/selectors/patternApplicants"; import { selectPatternApplicants } from "../../store/selectors/patternApplicants";
import { PATTERNS_PAGE } from "../../constants/pages"; import { PATTERNS_PAGE } from "../../constants/pages";
import { useHistory } from "react-router-dom"; import { useHistory } from "react-router-dom";
import parse from "html-react-parser";


const PatternDetailsPage = () => { const PatternDetailsPage = () => {
const [emails, setEmails] = useState([]); const [emails, setEmails] = useState([]);
<p>Teskt poruke</p> <p>Teskt poruke</p>
</div> </div>
<div className="pattern-details-card-sub-card-message-pattern"> <div className="pattern-details-card-sub-card-message-pattern">
<textarea disabled value={pattern.message}></textarea>
{/* <textarea disabled value={pattern.message}></textarea> */}
{console.log(pattern.message)}
{parse(pattern.message)}
</div> </div>
</div> </div>



+ 35
- 11
src/pages/PatternsPage/PatternsPage.js Zobrazit soubor

import React, { useState, useEffect } from "react";
import React, { useState, useEffect, useRef } from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import FilterButton from "../../components/Button/FilterButton"; import FilterButton from "../../components/Button/FilterButton";
import { useTheme } from "@mui/system"; import { useTheme } from "@mui/system";
import { updatePatternReq } from "../../store/actions/updatePattern/updatePatternActions"; import { updatePatternReq } from "../../store/actions/updatePattern/updatePatternActions";
import PatternFilters from "../../components/Patterns/PatternFilters"; import PatternFilters from "../../components/Patterns/PatternFilters";
import IconButton from "../../components/IconButton/IconButton"; import IconButton from "../../components/IconButton/IconButton";
import { Editor } from "@tinymce/tinymce-react";


const PatternsPage = ({ history }) => { const PatternsPage = ({ history }) => {
const theme = useTheme(); const theme = useTheme();
const [editPattern, setEditPattern] = useState(null); const [editPattern, setEditPattern] = useState(null);
const [addPatternTitle, setAddPatternTitle] = useState(""); const [addPatternTitle, setAddPatternTitle] = useState("");
const [addPatternCategory, setAddPatternCategory] = useState(1); const [addPatternCategory, setAddPatternCategory] = useState(1);
const [addPatternMessage, setAddPatternMessage] = useState("");
const [selectionLevelFilter, setSelectionLevelFilter] = useState([]); const [selectionLevelFilter, setSelectionLevelFilter] = useState([]);
const patterns = useSelector(selectPatterns); const patterns = useSelector(selectPatterns);
const processes = useSelector(selectProcesses); const processes = useSelector(selectProcesses);
const dispatch = useDispatch(); const dispatch = useDispatch();
const addPatternEditor = useRef();
const editPatternEditor = useRef();


useEffect(() => { useEffect(() => {
dispatch(setPatternsReq()); dispatch(setPatternsReq());
const submitAddPatternHandler = (e) => { const submitAddPatternHandler = (e) => {
e.preventDefault(); e.preventDefault();


if (addPatternTitle.length === 0 || addPatternMessage.length === 0) {
if (
addPatternTitle.length === 0 ||
addPatternEditor.current.getContent().length === 0
) {
return; return;
} }


createPatternReq({ createPatternReq({
title: addPatternTitle, title: addPatternTitle,
selectionLevelId: addPatternCategory, selectionLevelId: addPatternCategory,
message: addPatternMessage,
message: addPatternEditor.current.getContent(),
}) })
); );


setOpenAddPatternModal(false); setOpenAddPatternModal(false);
setAddPatternTitle(""); setAddPatternTitle("");
setAddPatternCategory(processes[0].id); setAddPatternCategory(processes[0].id);
setAddPatternMessage("");
}; };


const submitEditPatternHandler = (e) => { const submitEditPatternHandler = (e) => {
e.preventDefault(); e.preventDefault();


if (editPattern.title.length === 0 || editPattern.message.length === 0) {
if (
editPattern.title.length === 0 ||
editPatternEditor.current.getContent() === 0
) {
return; return;
} }


dispatch(updatePatternReq(editPattern));
dispatch(
updatePatternReq({
id: editPattern.id,
title: editPattern.title,
createdAt: editPattern.createdAt,
selectionLevelId: editPattern.selectionLevelId,
message: editPatternEditor.current.getContent(),
})
);


setOpenEditPatternModal(false); setOpenEditPatternModal(false);
}; };
</div> </div>
<div className="add-pattern-modal-form-control"> <div className="add-pattern-modal-form-control">
<label>Tekst poruke</label> <label>Tekst poruke</label>
<textarea
<Editor
onInit={(evt, editor) => (addPatternEditor.current = editor)}
style={{ height: "100px !important" }}
/>
{/* <textarea
rows="11" rows="11"
value={addPatternMessage} value={addPatternMessage}
onChange={(e) => { onChange={(e) => {
setAddPatternMessage(e.target.value); setAddPatternMessage(e.target.value);
} }
}} }}
></textarea>
></textarea> */}
</div> </div>
<div className="add-pattern-modal-form-control"> <div className="add-pattern-modal-form-control">
<input type="submit" value="DODAJ ŠABLON" /> <input type="submit" value="DODAJ ŠABLON" />
</div> </div>
<div className="edit-pattern-modal-form-control"> <div className="edit-pattern-modal-form-control">
<label>Tekst poruke</label> <label>Tekst poruke</label>
<textarea
<Editor
initialValue={editPattern ? editPattern.message : ""}
onInit={(evt, editor) => (editPatternEditor.current = editor)}
style={{ height: "100px !important" }}
/>
{/* <textarea
rows="11" rows="11"
onChange={(e) => onChange={(e) =>
setEditPattern((oldState) => ({ setEditPattern((oldState) => ({
})) }))
} }
value={editPattern ? editPattern.message : ""} value={editPattern ? editPattern.message : ""}
></textarea>
></textarea> */}
</div> </div>
<div className="edit-pattern-modal-form-control"> <div className="edit-pattern-modal-form-control">
<input type="submit" value="UREDI ŠABLON" /> <input type="submit" value="UREDI ŠABLON" />

+ 1
- 1
src/pages/SelectionProcessPage/SelectionProcessOfApplicantPage.js Zobrazit soubor

</div> </div>
</div> </div>
<div className="add-ad"> <div className="add-ad">
<Link className="ad-details-buttons-link" to="/selectionflow">
<Link className="ad-details-buttons-link" to="/selectionFlow">
Nazad na sve kandidate Nazad na sve kandidate
</Link> </Link>
</div> </div>

+ 25
- 10
src/store/saga/adsSaga.js Zobrazit soubor

setCreateAd, setCreateAd,
setCreateAdError, setCreateAdError,
} from "../actions/createAd/createAdActions"; } from "../actions/createAd/createAdActions";
// import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
// import { JWT_TOKEN } from "../../constants/localStorage";
// import { addHeaderToken } from "../../request";
import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { JWT_TOKEN } from "../../constants/localStorage";
import { addHeaderToken } from "../../request";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { import {
archiveActiveAd, archiveActiveAd,


export function* getAds() { export function* getAds() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllAds); const result = yield call(getAllAds);
yield put(setAds(result.data)); yield put(setAds(result.data));
} catch (error) { } catch (error) {
yield put(setAdsError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setAdsError(errorMessage));
} }
} }


export function* getFilteredAds({ payload }) { export function* getFilteredAds({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllFilteredAds, payload); const result = yield call(getAllFilteredAds, payload);
yield put(setFilteredAds(result.data)); yield put(setFilteredAds(result.data));
} catch (error) { } catch (error) {
yield put(setFilteredAdsError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setFilteredAdsError(errorMessage));
} }
} }


export function* getAd({ payload }) { export function* getAd({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAdDetailsById, payload.id); const result = yield call(getAdDetailsById, payload.id);
yield put(setAd(result.data)); yield put(setAd(result.data));
} catch (error) { } catch (error) {
yield put(setAdError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setAdError(errorMessage));
} }
} }


export function* getArchiveAds() { export function* getArchiveAds() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllArchiveAds); const result = yield call(getAllArchiveAds);
yield put(setArchiveAds(result.data)); yield put(setArchiveAds(result.data));
} catch (error) { } catch (error) {
yield put(setArchiveAdsError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setArchiveAdsError(errorMessage));
} }
} }


export function* createAd({ payload }) { export function* createAd({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(createNewAd, payload); const result = yield call(createNewAd, payload);
const ad = result.data; const ad = result.data;
yield put(setCreateAd(ad)); yield put(setCreateAd(ad));
yield call(payload.onSuccessAddAd); yield call(payload.onSuccessAddAd);
} }
} catch (error) { } catch (error) {
yield put(setCreateAdError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setCreateAdError(errorMessage));
} }
} }


export function* archiveActiveAdSaga({ payload }) { export function* archiveActiveAdSaga({ payload }) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const { data } = yield call(archiveActiveAdRequest, payload); const { data } = yield call(archiveActiveAdRequest, payload);
yield put(archiveActiveAd(data)); yield put(archiveActiveAd(data));
const resultAds = yield call(getAllAds); const resultAds = yield call(getAllAds);

+ 5
- 5
src/store/saga/applicantsSaga.js Zobrazit soubor

import { all, call, put, takeEvery } from "redux-saga/effects"; import { all, call, put, takeEvery } from "redux-saga/effects";
// import { JWT_TOKEN } from "../../constants/localStorage";
// import { addHeaderToken } from "../../request";
import { JWT_TOKEN } from "../../constants/localStorage";
import { addHeaderToken } from "../../request";
import { applyForAdRequest } from "../../request/applicantRequest"; import { applyForAdRequest } from "../../request/applicantRequest";
// import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { APPLY_FOR_AD_REQ } from "../actions/applyForAd/applyForAdActionConstants"; import { APPLY_FOR_AD_REQ } from "../actions/applyForAd/applyForAdActionConstants";
import { import {


export function* applyForAdSaga({ payload }) { export function* applyForAdSaga({ payload }) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const formData = new FormData(); const formData = new FormData();
formData.append("adId", payload.adId); formData.append("adId", payload.adId);
formData.append("firstName", payload.firstName); formData.append("firstName", payload.firstName);

+ 6
- 1
src/store/saga/candidatesSaga.js Zobrazit soubor

} }


export function* deleteSingleCandidate({ payload }) { export function* deleteSingleCandidate({ payload }) {
// console.log(payload)
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
yield call(deleteCandidate, payload.id); yield call(deleteCandidate, payload.id);
if (payload.handleApiResponseSuccess) { if (payload.handleApiResponseSuccess) {
yield call(payload.handleApiResponseSuccess); yield call(payload.handleApiResponseSuccess);


export function* getOptions() { export function* getOptions() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const { data } = yield call(getCandidateOptions); const { data } = yield call(getCandidateOptions);
yield put(fetchCandidateOptionsSuccess(data)); yield put(fetchCandidateOptionsSuccess(data));
} catch (error) { } catch (error) {


export function* initializeProcess({ payload }) { export function* initializeProcess({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
yield call(initializeProcessRequest, payload.model); yield call(initializeProcessRequest, payload.model);
yield put(fetchInitProcessSuccess()); yield put(fetchInitProcessSuccess());
} catch (error) { } catch (error) {

+ 25
- 13
src/store/saga/patternsSaga.js Zobrazit soubor

updatePattern, updatePattern,
updatePatternError, updatePatternError,
} from "../actions/updatePattern/updatePatternActions"; } from "../actions/updatePattern/updatePatternActions";
// import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
// import { JWT_TOKEN } from "../../constants/localStorage";
// import { addHeaderToken } from "../../request";
import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { JWT_TOKEN } from "../../constants/localStorage";
import { addHeaderToken } from "../../request";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { SCHEDULE_APPOINTMENT_REQ } from "../actions/scheduleAppointment/scheduleAppointmentActionConstants"; import { SCHEDULE_APPOINTMENT_REQ } from "../actions/scheduleAppointment/scheduleAppointmentActionConstants";
import { scheduleAppointment } from "../actions/scheduleAppointment/scheduleAppointmentActions"; import { scheduleAppointment } from "../actions/scheduleAppointment/scheduleAppointmentActions";


export function* getPatterns() { export function* getPatterns() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllPatterns); const result = yield call(getAllPatterns);
yield put(setPatterns(result.data)); yield put(setPatterns(result.data));
} catch (error) { } catch (error) {
yield put(setPatternsError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setPatternsError(errorMessage));
} }
} }


export function* getPattern({ payload }) { export function* getPattern({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getPatternById, payload.id); const result = yield call(getPatternById, payload.id);
yield put(setPattern(result.data)); yield put(setPattern(result.data));
} catch (error) { } catch (error) {
yield put(setPatternError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setPatternError(errorMessage));
} }
} }


export function* getPatternApplicants({ payload }) { export function* getPatternApplicants({ payload }) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getPatternApplicantsById, payload.id); const result = yield call(getPatternApplicantsById, payload.id);
yield put(setPatternApplicants(result.data)); yield put(setPatternApplicants(result.data));
} catch (error) { } catch (error) {


export function* filterPatterns({ payload }) { export function* filterPatterns({ payload }) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const { data } = yield call(getFilteredPatterns, payload); const { data } = yield call(getFilteredPatterns, payload);
yield put(setFilteredPatterns(data)); yield put(setFilteredPatterns(data));
if (payload.handleApiResponseSuccess) { if (payload.handleApiResponseSuccess) {


export function* createPatternSaga({ payload }) { export function* createPatternSaga({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(createPatternRequest, payload); const result = yield call(createPatternRequest, payload);
yield put(createPattern(result.data)); yield put(createPattern(result.data));
const resultPatterns = yield call(getAllPatterns); const resultPatterns = yield call(getAllPatterns);
yield put(setPatterns(resultPatterns.data)); yield put(setPatterns(resultPatterns.data));
} catch (error) { } catch (error) {
yield put(createPatternError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(createPatternError(errorMessage));
} }
} }


export function* updatePatternSaga({ payload }) { export function* updatePatternSaga({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(updatePatternRequest, payload); const result = yield call(updatePatternRequest, payload);
yield put(updatePattern(result.data)); yield put(updatePattern(result.data));
const resultPatterns = yield call(getAllPatterns); const resultPatterns = yield call(getAllPatterns);
yield put(setPatterns(resultPatterns.data)); yield put(setPatterns(resultPatterns.data));
} catch (error) { } catch (error) {
yield put(updatePatternError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(updatePatternError(errorMessage));
} }
} }


export function* scheduleAppointmentSaga({ payload }) { export function* scheduleAppointmentSaga({ payload }) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const { data } = yield call(scheduleAppointmentRequest, payload); const { data } = yield call(scheduleAppointmentRequest, payload);
yield put(scheduleAppointment(data)); yield put(scheduleAppointment(data));
if (payload.handleApiResponseSuccess) { if (payload.handleApiResponseSuccess) {

+ 2
- 3
src/store/saga/processSaga.js Zobrazit soubor



export function* getFilteredProcesses(payload) { export function* getFilteredProcesses(payload) {
try { try {
// const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
// yield call(addHeaderToken, JwtToken);
// console.log(payload.payload)
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllFilteredProcessesReq, payload.payload); const result = yield call(getAllFilteredProcessesReq, payload.payload);
yield put(setProcesses(result.data)); yield put(setProcesses(result.data));
} catch (error) { } catch (error) {

+ 5
- 1
src/store/saga/scheduleSaga.js Zobrazit soubor

import { all, call, put, takeEvery } from "redux-saga/effects"; import { all, call, put, takeEvery } from "redux-saga/effects";
import { getSpecificSchedule } from "../../request/scheduleRequest"; import { getSpecificSchedule } from "../../request/scheduleRequest";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";
import { SCHEDULE_FETCH } from "../actions/schedule/scheduleActionConstants";
import { SCHEDULE_FETCH } from "../actions/schedule/scheduleActionConstants";import { addHeaderToken } from "../../request";
import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { JWT_TOKEN } from "../../constants/localStorage";
import { import {
fetchScheduleSuccess, fetchScheduleSuccess,
fetchScheduleError, fetchScheduleError,


export function* getSchedule({ payload }) { export function* getSchedule({ payload }) {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getSpecificSchedule, {month:payload.month, year:payload.year}); const result = yield call(getSpecificSchedule, {month:payload.month, year:payload.year});
yield put(fetchScheduleSuccess(result.data)); yield put(fetchScheduleSuccess(result.data));
} catch (error) { } catch (error) {

+ 9
- 1
src/store/saga/technologiesSaga.js Zobrazit soubor

setTechnologies, setTechnologies,
setTechnologiesError, setTechnologiesError,
} from "../actions/technologies/technologiesActions"; } from "../actions/technologies/technologiesActions";
import { JWT_TOKEN } from "../../constants/localStorage";
import { addHeaderToken } from "../../request";
import { authScopeStringGetHelper } from "../../util/helpers/authScopeHelpers";
import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper"; import { rejectErrorCodeHelper } from "../../util/helpers/rejectErrorCodeHelper";


export function* getTechnologies() { export function* getTechnologies() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllTechnologies); const result = yield call(getAllTechnologies);
const resultData = result.data.map((res) => ({ ...res, isChecked: false })); const resultData = result.data.map((res) => ({ ...res, isChecked: false }));
yield put(setTechnologies(resultData)); yield put(setTechnologies(resultData));


export function* getTechnologiesAddAd() { export function* getTechnologiesAddAd() {
try { try {
const JwtToken = yield call(authScopeStringGetHelper, JWT_TOKEN);
yield call(addHeaderToken, JwtToken);
const result = yield call(getAllTechnologies); const result = yield call(getAllTechnologies);
const resultData = result.data.map((res) => ({ ...res, isChecked: false })); const resultData = result.data.map((res) => ({ ...res, isChecked: false }));
yield put(setTechnologiesAddAd(resultData)); yield put(setTechnologiesAddAd(resultData));
} catch (error) { } catch (error) {
yield put(setTechnologiesError(error));
const errorMessage = yield call(rejectErrorCodeHelper, error);
yield put(setTechnologiesError(errorMessage));
} }
} }



+ 53
- 68
yarn.lock Zobrazit soubor

"resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz" "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz"
"version" "7.14.4" "version" "7.14.4"


"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@^7.7.5", "@babel/core@^7.8.4", "@babel/core@7 || ^7.0.0-rc.2":
"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4":
"integrity" "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==" "integrity" "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg=="
"resolved" "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz" "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz"
"version" "7.14.3" "version" "7.14.3"
"resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" "resolved" "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz"
"version" "0.8.0" "version" "0.8.0"


"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.1.1", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.9.0":
"@emotion/react@^11.1.1", "@emotion/react@^11.5.0":
"integrity" "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==" "integrity" "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA=="
"resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz" "resolved" "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz"
"version" "11.10.4" "version" "11.10.4"
"resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz" "resolved" "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz"
"version" "1.2.0" "version" "1.2.0"


"@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1":
"@emotion/styled@^11.3.0":
"integrity" "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==" "integrity" "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ=="
"resolved" "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz" "resolved" "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz"
"version" "11.10.4" "version" "11.10.4"
dependencies: dependencies:
"@babel/runtime" "^7.19.0" "@babel/runtime" "^7.19.0"


"@mui/material@^5.0.0", "@mui/material@^5.0.6", "@mui/material@^5.4.1":
"@mui/material@^5.0.6":
"integrity" "sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA==" "integrity" "sha512-ioLvqY7VvcePz9dnEIRhpiVvtJmAFmvG6rtLXXzVdMmAVbSaelr5Io07mPz/mCyqE+Uv8/4EuJV276DWO7etzA=="
"resolved" "https://registry.npmjs.org/@mui/material/-/material-5.10.10.tgz" "resolved" "https://registry.npmjs.org/@mui/material/-/material-5.10.10.tgz"
"version" "5.10.10" "version" "5.10.10"
"csstype" "^3.1.1" "csstype" "^3.1.1"
"prop-types" "^15.8.1" "prop-types" "^15.8.1"


"@mui/system@^5.10.10", "@mui/system@^5.4.1":
"@mui/system@^5.10.10":
"integrity" "sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA==" "integrity" "sha512-TXwtKN0adKpBrZmO+eilQWoPf2veh050HLYrN78Kps9OhlvO70v/2Kya0+mORFhu9yhpAwjHXO8JII/R4a5ZLA=="
"resolved" "https://registry.npmjs.org/@mui/system/-/system-5.10.10.tgz" "resolved" "https://registry.npmjs.org/@mui/system/-/system-5.10.10.tgz"
"version" "5.10.10" "version" "5.10.10"
dependencies: dependencies:
"defer-to-connect" "^1.0.1" "defer-to-connect" "^1.0.1"


"@testing-library/dom@^8.0.0", "@testing-library/dom@>=7.21.4":
"@testing-library/dom@^8.0.0":
"integrity" "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==" "integrity" "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A=="
"resolved" "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz" "resolved" "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz"
"version" "8.19.0" "version" "8.19.0"
dependencies: dependencies:
"@types/react" "*" "@types/react" "*"


"@types/react@*", "@types/react@^17.0.0 || ^18.0.0":
"@types/react@*":
"integrity" "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==" "integrity" "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA=="
"resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz" "resolved" "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz"
"version" "18.0.21" "version" "18.0.21"
"@types/source-list-map" "*" "@types/source-list-map" "*"
"source-map" "^0.7.3" "source-map" "^0.7.3"


"@types/webpack@^4.41.8", "@types/webpack@4.x":
"@types/webpack@^4.41.8":
"integrity" "sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q==" "integrity" "sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q=="
"resolved" "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.29.tgz" "resolved" "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.29.tgz"
"version" "4.41.29" "version" "4.41.29"
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"


"@typescript-eslint/eslint-plugin@^4.0.0", "@typescript-eslint/eslint-plugin@^4.5.0", "@typescript-eslint/eslint-plugin@>= 4":
"@typescript-eslint/eslint-plugin@^4.5.0":
"integrity" "sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==" "integrity" "sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg=="
"resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz" "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz"
"version" "4.26.0" "version" "4.26.0"
"eslint-scope" "^5.1.1" "eslint-scope" "^5.1.1"
"eslint-utils" "^3.0.0" "eslint-utils" "^3.0.0"


"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@^4.5.0":
"@typescript-eslint/parser@^4.5.0":
"integrity" "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==" "integrity" "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg=="
"resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz" "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz"
"version" "4.26.0" "version" "4.26.0"
"resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
"version" "7.2.0" "version" "7.2.0"


"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0":
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
"version" "7.4.1"

"acorn@^6.4.1": "acorn@^6.4.1":
"integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz"
"version" "6.4.2" "version" "6.4.2"


"acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0":
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
"version" "7.4.1"

"acorn@^8.2.4": "acorn@^8.2.4":
"integrity" "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==" "integrity" "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz" "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz"
"resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
"version" "3.5.2" "version" "3.5.2"


"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0":
"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.4", "ajv@^6.12.5":
"integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
"resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
"version" "6.12.6" "version" "6.12.6"
"resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz"
"version" "2.2.0" "version" "2.2.0"


"babel-eslint@^10.0.0", "babel-eslint@^10.1.0":
"babel-eslint@^10.1.0":
"integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==" "integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg=="
"resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" "resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz"
"version" "10.1.0" "version" "10.1.0"
dependencies: dependencies:
"pako" "~1.0.5" "pako" "~1.0.5"


"browserslist@^4", "browserslist@^4.0.0", "browserslist@^4.12.0", "browserslist@^4.16.6", "browserslist@^4.6.2", "browserslist@^4.6.4":
"browserslist@^4.0.0", "browserslist@^4.12.0", "browserslist@^4.16.6", "browserslist@^4.6.2", "browserslist@^4.6.4":
"integrity" "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==" "integrity" "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ=="
"resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz"
"version" "4.16.6" "version" "4.16.6"
"whatwg-mimetype" "^2.3.0" "whatwg-mimetype" "^2.3.0"
"whatwg-url" "^8.0.0" "whatwg-url" "^8.0.0"


"date-fns@^2.0.0", "date-fns@^2.25.0", "date-fns@^2.29.3":
"date-fns@^2.29.3":
"integrity" "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" "integrity" "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA=="
"resolved" "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz" "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz"
"version" "2.29.3" "version" "2.29.3"
"lodash" "^4.17.15" "lodash" "^4.17.15"
"string-natural-compare" "^3.0.1" "string-natural-compare" "^3.0.1"


"eslint-plugin-import@^2.22.0", "eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.23.4":
"eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.23.4":
"integrity" "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==" "integrity" "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ=="
"resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz" "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz"
"version" "2.23.4" "version" "2.23.4"
"resolve" "^1.20.0" "resolve" "^1.20.0"
"tsconfig-paths" "^3.9.0" "tsconfig-paths" "^3.9.0"


"eslint-plugin-jest@^24.0.0", "eslint-plugin-jest@^24.1.0":
"eslint-plugin-jest@^24.1.0":
"integrity" "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==" "integrity" "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg=="
"resolved" "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz" "resolved" "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz"
"version" "24.3.6" "version" "24.3.6"
dependencies: dependencies:
"prettier-linter-helpers" "^1.0.0" "prettier-linter-helpers" "^1.0.0"


"eslint-plugin-react-hooks@^4 || ^3 || ^2.3.0 || ^1.7.0", "eslint-plugin-react-hooks@^4.0.8", "eslint-plugin-react-hooks@^4.2.0":
"eslint-plugin-react-hooks@^4.2.0":
"integrity" "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" "integrity" "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ=="
"resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz" "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz"
"version" "4.2.0" "version" "4.2.0"


"eslint-plugin-react@^7.20.3", "eslint-plugin-react@^7.21.5", "eslint-plugin-react@^7.24.0":
"eslint-plugin-react@^7.21.5", "eslint-plugin-react@^7.24.0":
"integrity" "sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==" "integrity" "sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q=="
"resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz" "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz"
"version" "7.24.0" "version" "7.24.0"
dependencies: dependencies:
"safe-regex" "^1.1.0" "safe-regex" "^1.1.0"


"eslint-plugin-testing-library@^3.9.0", "eslint-plugin-testing-library@^3.9.2":
"eslint-plugin-testing-library@^3.9.2":
"integrity" "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==" "integrity" "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA=="
"resolved" "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz" "resolved" "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz"
"version" "3.10.2" "version" "3.10.2"
"normalize-path" "^3.0.0" "normalize-path" "^3.0.0"
"schema-utils" "^3.0.0" "schema-utils" "^3.0.0"


"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^5 || ^6 || ^7", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^5.16.0 || ^6.8.0 || ^7.2.0", "eslint@^7.0.0", "eslint@^7.1.0", "eslint@^7.11.0", "eslint@^7.28.0", "eslint@^7.5.0", "eslint@>= 4.12.1", "eslint@>=5", "eslint@>=5.0.0", "eslint@>=7.0.0":
"eslint@^7.11.0", "eslint@^7.28.0":
"integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA=="
"resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz"
"version" "7.32.0" "version" "7.32.0"
dependencies: dependencies:
"flat-cache" "^3.0.4" "flat-cache" "^3.0.4"


"file-loader@*", "file-loader@6.1.1":
"file-loader@6.1.1":
"integrity" "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==" "integrity" "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw=="
"resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz" "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz"
"version" "6.1.1" "version" "6.1.1"
"resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz"
"version" "1.1.1" "version" "1.1.1"


"i18next@^20.3.1", "i18next@>= 19.0.0":
"i18next@^20.3.1":
"integrity" "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==" "integrity" "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A=="
"resolved" "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz" "resolved" "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz"
"version" "20.6.1" "version" "20.6.1"
"jest-regex-util" "^26.0.0" "jest-regex-util" "^26.0.0"
"jest-snapshot" "^26.6.2" "jest-snapshot" "^26.6.2"


"jest-resolve@*", "jest-resolve@26.6.0":
"integrity" "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ=="
"resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz"
"version" "26.6.0"
dependencies:
"@jest/types" "^26.6.0"
"chalk" "^4.0.0"
"graceful-fs" "^4.2.4"
"jest-pnp-resolver" "^1.2.2"
"jest-util" "^26.6.0"
"read-pkg-up" "^7.0.1"
"resolve" "^1.17.0"
"slash" "^3.0.0"

"jest-resolve@^26.6.2": "jest-resolve@^26.6.2":
"integrity" "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==" "integrity" "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ=="
"resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz" "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz"
"resolve" "^1.18.1" "resolve" "^1.18.1"
"slash" "^3.0.0" "slash" "^3.0.0"


"jest-resolve@26.6.0":
"integrity" "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ=="
"resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz"
"version" "26.6.0"
dependencies:
"@jest/types" "^26.6.0"
"chalk" "^4.0.0"
"graceful-fs" "^4.2.4"
"jest-pnp-resolver" "^1.2.2"
"jest-util" "^26.6.0"
"read-pkg-up" "^7.0.1"
"resolve" "^1.17.0"
"slash" "^3.0.0"

"jest-runner@^26.6.0", "jest-runner@^26.6.3": "jest-runner@^26.6.0", "jest-runner@^26.6.3":
"integrity" "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==" "integrity" "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ=="
"resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz" "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz"
"merge-stream" "^2.0.0" "merge-stream" "^2.0.0"
"supports-color" "^7.0.0" "supports-color" "^7.0.0"


"jest@^26.0.0", "jest@^26.6.0", "jest@26.6.0":
"jest@^26.6.0", "jest@26.6.0":
"integrity" "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==" "integrity" "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA=="
"resolved" "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz" "resolved" "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz"
"version" "26.6.0" "version" "26.6.0"
"resolved" "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" "resolved" "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz"
"version" "1.4.0" "version" "1.4.0"


"jquery@>=1.8.0":
"integrity" "sha512-/e7ulNIEEYk1Z/l4X0vpxGt+B/dNsV8ghOPAWZaJs8pkGvsSC0tm33aMGylXcj/U7y4IcvwtMXPMyBFZn/gK9A=="
"resolved" "https://registry.npmjs.org/jquery/-/jquery-3.6.2.tgz"
"version" "3.6.2"

"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": "js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0":
"integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
"resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
dependencies: dependencies:
"fast-diff" "^1.1.2" "fast-diff" "^1.1.2"


"prettier@>=1.13.0", "prettier@2.3.1":
"prettier@2.3.1":
"integrity" "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==" "integrity" "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA=="
"resolved" "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz" "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz"
"version" "2.3.1" "version" "2.3.1"
"strip-ansi" "6.0.0" "strip-ansi" "6.0.0"
"text-table" "0.2.0" "text-table" "0.2.0"


"react-dom@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.0 || ^17.0.0", "react-dom@^17.0.0 || ^18.0.0", "react-dom@^17.0.2", "react-dom@^17.0.2 || ^18.0.0", "react-dom@^18.0.0 || ^17.0.1 || ^16.7.0", "react-dom@<18.0.0", "react-dom@>=16.6.0", "react-dom@>=16.8.3":
"react-dom@^17.0.2":
"integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA=="
"resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz"
"version" "17.0.2" "version" "17.0.2"
"resolved" "https://registry.npmjs.org/react-property/-/react-property-2.0.0.tgz" "resolved" "https://registry.npmjs.org/react-property/-/react-property-2.0.0.tgz"
"version" "2.0.0" "version" "2.0.0"


"react-redux@^7.2.1 || ^8.0.2", "react-redux@^7.2.4":
"react-redux@^7.2.4":
"integrity" "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==" "integrity" "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ=="
"resolved" "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz" "resolved" "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz"
"version" "7.2.9" "version" "7.2.9"
"prop-types" "^15.7.2" "prop-types" "^15.7.2"
"react-is" "^17.0.2" "react-is" "^17.0.2"


"react-refresh@^0.8.3", "react-refresh@>=0.8.3 <0.10.0":
"react-refresh@^0.8.3":
"integrity" "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" "integrity" "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg=="
"resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz" "resolved" "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz"
"version" "0.8.3" "version" "0.8.3"
"loose-envify" "^1.4.0" "loose-envify" "^1.4.0"
"prop-types" "^15.6.2" "prop-types" "^15.6.2"


"react@^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.0.0", "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.3.0 || ^17.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.3 || ^17 || ^18", "react@^16.9.0 || ^17.0.0 || ^18", "react@^17.0.0 || ^18.0.0", "react@^17.0.2", "react@^17.0.2 || ^18.0.0", "react@^18.0.0 || ^17.0.1 || ^16.7.0", "react@^18.2.0", "react@<18.0.0", "react@>= 16", "react@>= 16.8 || 18.0.0", "react@>= 16.8.0", "react@>=15", "react@>=16.6.0", "react@>=16.8", "react@>=16.8.0", "react@>=16.8.3", "react@0.14 || 15 || 16 || 17 || 18", "react@17.0.2":
"react@^17.0.2":
"integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA=="
"resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz"
"version" "17.0.2" "version" "17.0.2"
"resolved" "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz" "resolved" "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.1.tgz"
"version" "2.4.1" "version" "2.4.1"


"redux@^4", "redux@^4.0.0", "redux@^4.0.4", "redux@^4.1.0", "redux@^4.1.2":
"redux@^4.0.0", "redux@^4.0.4", "redux@^4.1.0", "redux@^4.1.2":
"integrity" "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==" "integrity" "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA=="
"resolved" "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz" "resolved" "https://registry.npmjs.org/redux/-/redux-4.2.0.tgz"
"version" "4.2.0" "version" "4.2.0"
dependencies: dependencies:
"estree-walker" "^0.6.1" "estree-walker" "^0.6.1"


"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^1.31.1", "rollup@>=0.60.0 <3", "rollup@>=0.66.0 <3":
"rollup@^1.31.1":
"integrity" "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==" "integrity" "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A=="
"resolved" "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz" "resolved" "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz"
"version" "1.32.1" "version" "1.32.1"
"schema-utils" "^3.0.0" "schema-utils" "^3.0.0"
"semver" "^7.3.2" "semver" "^7.3.2"


"sass@^1.3.0", "sass@^1.34.1":
"sass@^1.34.1":
"integrity" "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==" "integrity" "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A=="
"resolved" "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz" "resolved" "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz"
"version" "1.55.0" "version" "1.55.0"
"source-map-resolve" "^0.5.0" "source-map-resolve" "^0.5.0"
"use" "^3.1.0" "use" "^3.1.0"


"sockjs-client@^1.4.0", "sockjs-client@^1.5.0":
"sockjs-client@^1.5.0":
"integrity" "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==" "integrity" "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ=="
"resolved" "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" "resolved" "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz"
"version" "1.5.1" "version" "1.5.1"
"resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
"version" "4.0.8" "version" "4.0.8"


"type-fest@^0.13.1":
"integrity" "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
"resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz"
"version" "0.13.1"

"type-fest@^0.20.2": "type-fest@^0.20.2":
"integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
"resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
dependencies: dependencies:
"typescript-compare" "^0.0.2" "typescript-compare" "^0.0.2"


"typescript@^3.2.1 || ^4", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta":
"integrity" "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
"resolved" "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz"
"version" "4.9.4"

"unbox-primitive@^1.0.2": "unbox-primitive@^1.0.2":
"integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw=="
"resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
"range-parser" "^1.2.1" "range-parser" "^1.2.1"
"webpack-log" "^2.0.0" "webpack-log" "^2.0.0"


"webpack-dev-server@3.11.1", "webpack-dev-server@3.x":
"webpack-dev-server@3.11.1":
"integrity" "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==" "integrity" "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ=="
"resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz" "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz"
"version" "3.11.1" "version" "3.11.1"
"source-list-map" "^2.0.0" "source-list-map" "^2.0.0"
"source-map" "~0.6.1" "source-map" "~0.6.1"


"webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.36.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", "webpack@>=2", "webpack@>=4.43.0 <6.0.0", "webpack@2 || 3 || 4", "webpack@4.44.2":
"webpack@4.44.2":
"integrity" "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==" "integrity" "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q=="
"resolved" "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz" "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz"
"version" "4.44.2" "version" "4.44.2"

Načítá se…
Zrušit
Uložit