diff --git a/package.json b/package.json
index 077fb9b..5fe312a 100644
--- a/package.json
+++ b/package.json
@@ -13,8 +13,7 @@
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-reveal": "^1.2.2",
- "react-router": "^6.0.2",
- "react-router-dom": "^5.3.0",
+ "react-router-dom": "^6.2.1",
"react-scripts": "4.0.3",
"react-spinners": "^0.11.0",
"recoil": "^0.5.2",
diff --git a/src/Components/Common/Card.jsx b/src/Components/Common/Card.jsx
index 90d8d04..ede189a 100644
--- a/src/Components/Common/Card.jsx
+++ b/src/Components/Common/Card.jsx
@@ -64,11 +64,12 @@ Card.propTypes = {
address: PropTypes.string.isRequired,
step: PropTypes.number,
resId: PropTypes.number.isRequired,
- pic: PropTypes.string.isRequired,
+ pic: PropTypes.string,
};
Card.defaultProps = {
step: 0,
+ pic: '사진이 없어여',
};
export default Card;
diff --git a/src/Components/Common/Header2.jsx b/src/Components/Common/Header2.jsx
index e691915..e157ff9 100644
--- a/src/Components/Common/Header2.jsx
+++ b/src/Components/Common/Header2.jsx
@@ -7,9 +7,8 @@ import { NavLink } from 'react-router-dom';
const Container = styled.div`
box-sizing: border-box;
height: 100px;
- .selected span {
- display: inline-block;
- box-sizing: border-box;
+
+ .active span {
font-weight: 700;
}
`;
@@ -33,6 +32,12 @@ const StyledNavLink = styled(NavLink)`
color: black;
text-decoration: none;
}
+
+ &.active {
+ display: inline-block;
+ box-sizing: border-box;
+ font-weight: 700;
+ }
`;
const Header2 = () => {
@@ -67,10 +72,10 @@ const Header2 = () => {
return (
-
+
서북구
-
+
동남구
diff --git a/src/Components/Common/Sidebar2.jsx b/src/Components/Common/Sidebar2.jsx
index ae7c948..b2469f9 100644
--- a/src/Components/Common/Sidebar2.jsx
+++ b/src/Components/Common/Sidebar2.jsx
@@ -31,7 +31,7 @@ const Container = styled.div`
div svg {
padding: 20px;
}
- .selected svg {
+ .active svg {
stroke: ${Colors.main};
}
// 전체 svg
@@ -58,14 +58,14 @@ const Sidebar2 = () => {
-
+
-
+
-
+
diff --git a/src/Components/Detail/Content.jsx b/src/Components/Detail/Content.jsx
index a1c52fa..47a0d8e 100644
--- a/src/Components/Detail/Content.jsx
+++ b/src/Components/Detail/Content.jsx
@@ -26,7 +26,7 @@ const BtnDiv = styled.div`
const Container = styled.div``;
-const Content = ({ restaurantName, waiting, address, step, match }) => {
+const Content = ({ restaurantName, waiting, address, step, resId }) => {
const [visible, setVisible] = useState(false);
const [ResId, setResId] = useRecoilState(restaurantState);
const [FriendsList, setFriendsList] = useRecoilState(friendsState);
@@ -36,7 +36,7 @@ const Content = ({ restaurantName, waiting, address, step, match }) => {
// 모달 열기
const toggleModal = () => {
setVisible(true);
- setResId(match.params.resId);
+ setResId(resId);
};
// 모달 닫기
@@ -106,7 +106,7 @@ Content.propTypes = {
address: PropTypes.string,
waiting: PropTypes.number,
step: PropTypes.number,
- match: PropTypes.any.isRequired,
+ resId: PropTypes.any.isRequired,
};
Content.defaultProps = {
diff --git a/src/Components/Detail/Reservation/Step2.jsx b/src/Components/Detail/Reservation/Step2.jsx
index 79dc1db..00b77ef 100644
--- a/src/Components/Detail/Reservation/Step2.jsx
+++ b/src/Components/Detail/Reservation/Step2.jsx
@@ -5,7 +5,7 @@ import React, { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import styled from 'styled-components';
import { useRecoilState, useRecoilValue } from 'recoil';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import Button from '../../Common/Button';
import Colors from '../../../Assets/Colors/Colors';
import {
@@ -83,7 +83,7 @@ const Person = styled.span`
`;
const Step2 = ({ restaurantName, increasePageFunc, decreasePageFunc }) => {
- const history = useHistory();
+ const navigate = useNavigate();
const [Today, setToday] = useState('');
// 현재 날짜 가져오는 함수
const createDate = () => {
@@ -121,7 +121,7 @@ const Step2 = ({ restaurantName, increasePageFunc, decreasePageFunc }) => {
if (res.data.success === false) {
alert('식당에서 요구하는 백신 접종 차수에 미달합니다.');
alert('예약을 종료하고 홈 화면으로 돌아갑니다.');
- history.push('/district1');
+ navigate('/district1');
}
} catch (error) {
return error;
diff --git a/src/Components/Join/Contents.jsx b/src/Components/Join/Contents.jsx
index e4863ea..0bc8d40 100644
--- a/src/Components/Join/Contents.jsx
+++ b/src/Components/Join/Contents.jsx
@@ -1,7 +1,7 @@
/* eslint-disable consistent-return */
/* eslint-disable no-alert */
import React, { useState } from 'react';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import styled from 'styled-components';
import { userJoin } from '../../api/User';
import Button from '../Common/Button';
@@ -36,7 +36,7 @@ const Title = styled.p`
const Contents = () => {
// useHistory 사용
- const history = useHistory();
+ const navigate = useNavigate();
// input 관련 로직
const [inputs, setinputs] = useState({});
@@ -71,7 +71,7 @@ const Contents = () => {
// 비밀번호가 동일한 경우에만 회원가입
if (inputs.password === inputs.password2) {
fetch();
- history.push('/');
+ navigate('/');
} else {
alert('비밀번호가 동일하지 않습니다. 비밀번호를 동일하게 맞춰주세요.');
}
diff --git a/src/Components/Login/Contents.jsx b/src/Components/Login/Contents.jsx
index 38ddb15..c0cf957 100644
--- a/src/Components/Login/Contents.jsx
+++ b/src/Components/Login/Contents.jsx
@@ -3,7 +3,7 @@
/* eslint-disable no-unused-vars */
/* eslint-disable consistent-return */
import React, { useState } from 'react';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import styled from 'styled-components';
import { useRecoilState } from 'recoil';
import { ReactComponent as Logo } from '../../Assets/Icons/Logo.svg';
@@ -57,7 +57,7 @@ const JoinInfo = styled.p`
`;
const Contents = () => {
- const history = useHistory();
+ const navigate = useNavigate();
// 로그인 정보 저장
const [User, setUser] = useRecoilState(UserData);
// 유저 정보 저장
@@ -87,7 +87,7 @@ const Contents = () => {
setUser(userData.data);
const info = await userInfoAPI(userData.data.username);
setUserProfile(info.data);
- history.push('/select');
+ navigate('/select');
// false 인 경우 로그인 실패하고 알림 출력
} else {
alert('로그인에 실패했습니다. 다시 로그인해주세요.');
diff --git a/src/Components/MyPage/PageContent.jsx b/src/Components/MyPage/PageContent.jsx
index 41a8fea..a643101 100644
--- a/src/Components/MyPage/PageContent.jsx
+++ b/src/Components/MyPage/PageContent.jsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import Tag from '../Common/Tag';
@@ -47,9 +47,9 @@ const Container = styled.div`
// 각각 하양송이, 아이디값, 핸드폰번호값, 날짜 받아오기 => 태그는...
// eslint-disable-next-line react/prop-types
const Contents = ({ userName, userID, userNumber, userStep, userDate }) => {
- const history = useHistory();
+ const navigate = useNavigate();
const routeChange = () => {
- history.push('./modifypage');
+ navigate('./modifypage');
};
return (
diff --git a/src/Components/MyPage/PageModify.jsx b/src/Components/MyPage/PageModify.jsx
index 15b6da9..d4c3c53 100644
--- a/src/Components/MyPage/PageModify.jsx
+++ b/src/Components/MyPage/PageModify.jsx
@@ -1,6 +1,6 @@
/* eslint-disable no-alert */
import React, { useState } from 'react';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import styled from 'styled-components';
import PropTypes from 'prop-types';
import Button from '../Common/Button';
@@ -53,7 +53,7 @@ const Container = styled.div`
// eslint-disable-next-line react/prop-types
const Contents = ({ userName, userID, userNumber, userStep, userDate }) => {
- const history = useHistory();
+ const navigate = useNavigate();
const [inputs, setinputs] = useState({});
const handleInputs = e => {
@@ -75,7 +75,7 @@ const Contents = ({ userName, userID, userNumber, userStep, userDate }) => {
// api 통신
const modifyData = await userModify(values);
if (modifyData) {
- history.push('/mypage');
+ navigate('/mypage');
} else {
alert('수정 실패');
}
diff --git a/src/Components/MyReservation/Contents.jsx b/src/Components/MyReservation/Contents.jsx
index 0af4cdb..1e7307d 100644
--- a/src/Components/MyReservation/Contents.jsx
+++ b/src/Components/MyReservation/Contents.jsx
@@ -2,7 +2,7 @@
import React from 'react';
import styled from 'styled-components';
import PropTypes from 'prop-types';
-import { useHistory } from 'react-router-dom';
+import { useNavigate } from 'react-router-dom';
import Colors from '../../Assets/Colors/Colors';
const Wrapper = styled.div`
@@ -66,7 +66,7 @@ const CancelBtn = styled.button`
`;
const Contents = ({ remainTime, order, resName, peopleNum }) => {
- const history = useHistory();
+ const history = useNavigate();
// 줄서기 취소이벤트
const cancel = () => {
if (window.confirm('정말 줄서기를 취소하시나요?')) {
diff --git a/src/Components/Search/SearchContent.jsx b/src/Components/Search/SearchContent.jsx
index 5d5a2f1..d83bf2e 100644
--- a/src/Components/Search/SearchContent.jsx
+++ b/src/Components/Search/SearchContent.jsx
@@ -76,6 +76,7 @@ const SearchContent = ({ listData, handleInput }) => {
{listData.map(item => (
{
- const history = useHistory();
+ const navigate = useNavigate();
const chooseDistrict = () => {
- history.push(`${Url}`);
+ navigate(`${Url}`);
};
return (
diff --git a/src/Layouts/Detail/Detail.jsx b/src/Layouts/Detail/Detail.jsx
index b017065..d2e0114 100644
--- a/src/Layouts/Detail/Detail.jsx
+++ b/src/Layouts/Detail/Detail.jsx
@@ -15,15 +15,14 @@ const Container = styled.div`
overflow-y: auto;
`;
-const Detail = ({ match }) => {
+const Detail = ({ resId }) => {
const [Restaurant, setRestaurant] = useState([]);
const [ResId, setResId] = useRecoilState(restaurantState);
- const { resId } = match.params;
const fetch = async () => {
try {
const restaurant = await restaurantDetail(resId);
setRestaurant(restaurant.data);
- setResId(match.params.resId);
+ setResId(resId);
} catch (error) {
return error;
}
@@ -44,7 +43,7 @@ const Detail = ({ match }) => {
>
@@ -52,7 +51,7 @@ const Detail = ({ match }) => {
};
Detail.propTypes = {
- match: PropTypes.any.isRequired,
+ resId: PropTypes.any.isRequired,
};
export default Detail;
diff --git a/src/Pages/DetailPage.jsx b/src/Pages/DetailPage.jsx
index 350d0cf..742540e 100644
--- a/src/Pages/DetailPage.jsx
+++ b/src/Pages/DetailPage.jsx
@@ -1,22 +1,20 @@
/* eslint-disable react/forbid-prop-types */
import React from 'react';
-import PropTypes from 'prop-types';
+// import PropTypes from 'prop-types';
+import { useParams } from 'react-router-dom';
import Detail from '../Layouts/Detail/Detail';
import Header2 from '../Components/Common/Header2';
import Sidebar2 from '../Components/Common/Sidebar2';
-const DetailPage = ({ match }) => {
+const DetailPage = () => {
+ const { resId } = useParams();
return (
<>
-
+
>
);
};
-DetailPage.propTypes = {
- match: PropTypes.any.isRequired,
-};
-
export default DetailPage;
diff --git a/src/Router/PublicRouter.jsx b/src/Router/PublicRouter.jsx
new file mode 100644
index 0000000..a5e7eab
--- /dev/null
+++ b/src/Router/PublicRouter.jsx
@@ -0,0 +1,9 @@
+/* eslint-disable react/react-in-jsx-scope */
+import { Navigate, Outlet } from 'react-router-dom';
+
+const PublicRouter = () => {
+ const user = JSON.parse(sessionStorage.getItem('user'));
+ return !user ? : ;
+};
+
+export default PublicRouter;
diff --git a/src/Router/Router.jsx b/src/Router/Router.jsx
index a25cf87..5dd269d 100644
--- a/src/Router/Router.jsx
+++ b/src/Router/Router.jsx
@@ -1,6 +1,6 @@
/* eslint-disable import/no-unresolved */
import React from 'react';
-import { BrowserRouter, Route, Switch } from 'react-router-dom';
+import { BrowserRouter, Route, Routes } from 'react-router-dom';
// url config
import {
JoinPage,
@@ -14,22 +14,32 @@ import {
District1Page,
District2Page,
} from '@pages';
+import PublicRouter from './PublicRouter';
const Routers = () => {
return (
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {/* 토큰이 존재할 경우 login, join 빼고 접근 가능 */}
+ }>
+
+ } />
+ } />
+
+
+ } />
+ } />
+
+ } />
+ } />
+ } />
+ } />
+ } />
+
+ {/* 토큰이 존재하지 않을 경우 login, join 만 접근 가능 */}
+ } />
+ } />
+
);
};
diff --git a/yarn.lock b/yarn.lock
index 736b2fe..f8f48f1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1158,21 +1158,21 @@
core-js-pure "^3.19.0"
regenerator-runtime "^0.13.4"
-"@babel/runtime@7.12.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
+"@babel/runtime@7.12.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
version "7.12.1"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz"
integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3":
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3":
version "7.16.3"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz"
integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.13.10":
+"@babel/runtime@^7.13.10", "@babel/runtime@^7.7.6":
version "7.16.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a"
integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==
@@ -5763,22 +5763,10 @@ hex-color-regex@^1.1.0:
resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-history@^4.9.0:
- version "4.10.1"
- resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz"
- integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==
- dependencies:
- "@babel/runtime" "^7.1.2"
- loose-envify "^1.2.0"
- resolve-pathname "^3.0.0"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
- value-equal "^1.0.1"
-
-history@^5.1.0:
- version "5.1.0"
- resolved "https://registry.npmjs.org/history/-/history-5.1.0.tgz"
- integrity sha512-zPuQgPacm2vH2xdORvGGz1wQMuHSIB56yNAy5FnLuwOwgSYyPKptJtcMm6Ev+hRGeS+GzhbmRacHzvlESbFwDg==
+history@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/history/-/history-5.2.0.tgz#7cdd31cf9bac3c5d31f09c231c9928fad0007b7c"
+ integrity sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==
dependencies:
"@babel/runtime" "^7.7.6"
@@ -5791,7 +5779,7 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1:
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.1:
version "3.3.2"
resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -6506,11 +6494,6 @@ is-wsl@^2.1.1, is-wsl@^2.2.0:
dependencies:
is-docker "^2.0.0"
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
@@ -7363,9 +7346,9 @@ loglevel@^1.6.8:
resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz"
integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
-loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
+loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
- resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
@@ -7574,14 +7557,6 @@ min-indent@^1.0.0:
resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-mini-create-react-context@^0.4.0:
- version "0.4.1"
- resolved "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz"
- integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==
- dependencies:
- "@babel/runtime" "^7.12.1"
- tiny-warning "^1.0.3"
-
mini-css-extract-plugin@0.11.3:
version "0.11.3"
resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz"
@@ -7941,7 +7916,7 @@ nwsapi@^2.2.0:
object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
- resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
object-copy@^0.1.0:
@@ -8341,13 +8316,6 @@ path-to-regexp@0.1.7:
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
-path-to-regexp@^1.7.0:
- version "1.8.0"
- resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz"
- integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
- dependencies:
- isarray "0.0.1"
-
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
@@ -9232,7 +9200,7 @@ prop-types@^15.5.10:
object-assign "^4.1.1"
react-is "^16.13.1"
-prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -9447,9 +9415,9 @@ react-error-overlay@^6.0.9:
resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz"
integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
-react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
+react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
- resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^17.0.1:
@@ -9469,41 +9437,20 @@ react-reveal@^1.2.2:
dependencies:
prop-types "^15.5.10"
-react-router-dom@^5.3.0:
- version "5.3.0"
- resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz"
- integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==
- dependencies:
- "@babel/runtime" "^7.12.13"
- history "^4.9.0"
- loose-envify "^1.3.1"
- prop-types "^15.6.2"
- react-router "5.2.1"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
-
-react-router@5.2.1:
- version "5.2.1"
- resolved "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz"
- integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==
- dependencies:
- "@babel/runtime" "^7.12.13"
- history "^4.9.0"
- hoist-non-react-statics "^3.1.0"
- loose-envify "^1.3.1"
- mini-create-react-context "^0.4.0"
- path-to-regexp "^1.7.0"
- prop-types "^15.6.2"
- react-is "^16.6.0"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
-
-react-router@^6.0.2:
- version "6.0.2"
- resolved "https://registry.npmjs.org/react-router/-/react-router-6.0.2.tgz"
- integrity sha512-8/Wm3Ed8t7TuedXjAvV39+c8j0vwrI5qVsYqjFr5WkJjsJpEvNSoLRUbtqSEYzqaTUj1IV+sbPJxvO+accvU0Q==
+react-router-dom@^6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.2.1.tgz#32ec81829152fbb8a7b045bf593a22eadf019bec"
+ integrity sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==
+ dependencies:
+ history "^5.2.0"
+ react-router "6.2.1"
+
+react-router@6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.2.1.tgz#be2a97a6006ce1d9123c28934e604faef51448a3"
+ integrity sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==
dependencies:
- history "^5.1.0"
+ history "^5.2.0"
react-scripts@4.0.3:
version "4.0.3"
@@ -9689,7 +9636,7 @@ regenerator-runtime@^0.11.0:
regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7:
version "0.13.9"
- resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
regenerator-transform@^0.14.2:
@@ -9829,11 +9776,6 @@ resolve-from@^5.0.0:
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-resolve-pathname@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz"
- integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
-
resolve-url-loader@^3.1.2:
version "3.1.4"
resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz"
@@ -10957,16 +10899,6 @@ timsort@^0.3.0:
resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz"
integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-tiny-invariant@^1.0.2:
- version "1.2.0"
- resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz"
- integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg==
-
-tiny-warning@^1.0.0, tiny-warning@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
tmpl@1.0.5:
version "1.0.5"
resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz"
@@ -11387,11 +11319,6 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
-value-equal@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz"
- integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
-
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"