From c02b62dc8e3b741b7a831ac532c76f9ae41ebc88 Mon Sep 17 00:00:00 2001 From: JinDalgi Date: Thu, 28 Dec 2023 22:05:25 +0900 Subject: [PATCH 1/5] [ING #104 ] -ing --- front-service/src/App.tsx | 4 +- front-service/src/Login.tsx | 7 +- .../src/components/inputbox/index.tsx | 1 + .../components/user/authentication/index.tsx | 77 +++++++++++-------- .../user/dto/request/sign-up.request.dto.ts | 1 - gateway-service/.idea/workspace.xml | 15 +++- .../passservice/service/PassServiceImpl.java | 6 ++ 7 files changed, 71 insertions(+), 40 deletions(-) diff --git a/front-service/src/App.tsx b/front-service/src/App.tsx index 67661b0b..2b698e93 100644 --- a/front-service/src/App.tsx +++ b/front-service/src/App.tsx @@ -19,8 +19,8 @@ const App = () => ( - - {/*
*/} + {/**/} +
); diff --git a/front-service/src/Login.tsx b/front-service/src/Login.tsx index d47083db..717253f5 100644 --- a/front-service/src/Login.tsx +++ b/front-service/src/Login.tsx @@ -1,6 +1,7 @@ // src/components/LoginPage.tsx import React from 'react'; import styled from 'styled-components'; +import {Link} from "react-router-dom"; @@ -133,7 +134,11 @@ const LoginPage: React.FC = () => { 회원가입
────── 또는 ──────
- IconGoogle로 계속 + + + Icon + Google로 계속 + IconKakao Talk로 계속 diff --git a/front-service/src/components/inputbox/index.tsx b/front-service/src/components/inputbox/index.tsx index 1ee3ff16..390d9032 100644 --- a/front-service/src/components/inputbox/index.tsx +++ b/front-service/src/components/inputbox/index.tsx @@ -14,6 +14,7 @@ interface Props { errorMessage?: string; onKeyDown?: (event: KeyboardEvent) => void; onButtonClick?: () => void; + onChange?: ChangeEvent; } // component: Input 상자 컴포넌트 // diff --git a/front-service/src/components/user/authentication/index.tsx b/front-service/src/components/user/authentication/index.tsx index 9f41dcb7..cfcfc219 100644 --- a/front-service/src/components/user/authentication/index.tsx +++ b/front-service/src/components/user/authentication/index.tsx @@ -80,8 +80,11 @@ export default function Authentication() { }, body: JSON.stringify(requestBody), } - ).then( - ()=>{ navigator("/boards");} + ).then(response=>{ + const uuidFromHeader = response.headers.get("UUID"); + setUuid(uuidFromHeader); + navigator("/boards"); + } ); }; @@ -182,31 +185,15 @@ export default function Authentication() { const [consentError, setConsentError] = useState(false); // state: 프로필 이미지 상태 // - const [profileImage, setProfileImage] = useState(null); - + const [profileImage, setProfileImage] = useState(''); - const fileToString = (file: File | null): Promise => { - return new Promise((resolve, reject) => { - if (!file) { - resolve(null); - } else { - const reader = new FileReader(); - reader.onloadend = () => { - const result = reader.result as string; - resolve(result); - }; - reader.onerror = reject; - reader.readAsDataURL(file); - } - }); - }; // event handler: 프로필 이미지 이벤트 처리 // const profileImageChange = (e: ChangeEvent) => { if (e.target.files) { setProfileImage(e.target.files[0]); } else { - setProfileImage(null); + setProfileImage('https://framted-product.s3.ap-northeast-2.amazonaws.com/profile.png'); } }; @@ -253,6 +240,7 @@ export default function Authentication() { // event handler: 회원가입 이벤트 처리 // const onSignUpButtonClickHandler = async () => { + setEmailError(false); setEmailErrorMessage(''); setPasswordError(false); @@ -294,12 +282,14 @@ export default function Authentication() { body: JSON.stringify(requestBody), }).then(response => { if (response.ok) { + const uuidFromHeader = response.headers.get("UUID"); + setUuid(uuidFromHeader); return response.text(); } else { throw new Error('회원 정보 작성에 실패했습니다.'); } }).then(() => { - navigator("/"); + setPage(2); }) .catch(()=>{ Swal.fire({ @@ -308,7 +298,6 @@ export default function Authentication() { text: '회원가입 중 오류가 발생했습니다.' }) }); - } // event handler: 상세 정보 입력 버튼 클릭 이벤트 처리 // @@ -322,6 +311,19 @@ export default function Authentication() { setMemberAddressErrorMessage(''); setConsentError(false); + // description: 이메일 여부 확인 // + const checkedEmail = email.trim().length === 0; + if (checkedEmail) { + setEmailError(true); + setEmailErrorMessage('이메일을 확일할 수 없습니다.'); + } + + // description: UUID 여부 확인 // + const checkedUuid = uuid?.trim().length === 0; + if (checkedUuid) { + alert('uuid를 확인할 수 없습니다.'); + } + // description: 이름 입력 여부 확인 // const checkedmemberName = memberName.trim().length === 0; if (checkedmemberName) { @@ -342,6 +344,11 @@ export default function Authentication() { setMemberAddressErrorMessage('우편번호를 선택해주세요.'); } + var myHeaders = new Headers(); + + const formData = new FormData(); + formData.append("IMAGE", profileImage); + // description: 개인정보동의 여부 확인 // if (!consent) setConsentError(true); @@ -349,27 +356,31 @@ export default function Authentication() { const requestBody: SignUpRequestDto = { email, uuid, - profileImage: profileImage ? await fileToString(profileImage) : undefined ?? null, - memberAddress, memberName, memberPhone, memberAddressDetail, consent}; + memberAddress, memberName, + memberPhone, memberAddressDetail, + consent}; + const data = new Blob([JSON.stringify(requestBody)], {type: "application/json"}) + formData.append("CREATE", data); const DETAILS_ENDPOINT = '/api/member-service/members'; fetch(DETAILS_ENDPOINT, { method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(requestBody), + headers: myHeaders, + body: formData, }).then(response => { if (response.ok) { - return response.text(); + return response.json(); } else { throw new Error('회원 정보 작성에 실패했습니다.'); } + }).catch((err) => { + console.error(err); }); + navigator('/'); } - + console.log(page); // render: sign up 카드 컴포넌트 렌더링 // return ( @@ -383,12 +394,12 @@ export default function Authentication() { -
{'회원가입'}
+
{'다음으로'}
)} {page === 2 && (<> - + )} @@ -402,7 +413,7 @@ export default function Authentication() {
{'개인정보동의'}
{'더보기>'}
-
{'회원가입'}
+
{'회원가입'}
)}
{'이미 계정이 있으신가요? '}{'로그인'}
diff --git a/front-service/src/components/user/dto/request/sign-up.request.dto.ts b/front-service/src/components/user/dto/request/sign-up.request.dto.ts index 1c832d9a..19bddadf 100644 --- a/front-service/src/components/user/dto/request/sign-up.request.dto.ts +++ b/front-service/src/components/user/dto/request/sign-up.request.dto.ts @@ -2,7 +2,6 @@ export default interface SignUpRequestDto { email: string; uuid: string | null; memberName: string; - profileImage?: string | undefined | null; memberAddress: string; memberAddressDetail?: string; memberPhone: string; diff --git a/gateway-service/.idea/workspace.xml b/gateway-service/.idea/workspace.xml index 4647b7c9..6414ba6b 100644 --- a/gateway-service/.idea/workspace.xml +++ b/gateway-service/.idea/workspace.xml @@ -4,7 +4,15 @@
@@ -402,7 +411,7 @@ export default function Authentication() {
{'개인정보동의'}
{'더보기>'}
-
{'회원가입'}
+
{'회원가입'}
)}
{'이미 계정이 있으신가요? '}{'로그인'}
diff --git a/gateway-service/.idea/workspace.xml b/gateway-service/.idea/workspace.xml index 6414ba6b..e8346da5 100644 --- a/gateway-service/.idea/workspace.xml +++ b/gateway-service/.idea/workspace.xml @@ -5,13 +5,9 @@ - - - - - + diff --git a/member-service/src/main/java/com/farmted/memberservice/controller/MemberController.java b/member-service/src/main/java/com/farmted/memberservice/controller/MemberController.java index 24a59223..5d35965e 100644 --- a/member-service/src/main/java/com/farmted/memberservice/controller/MemberController.java +++ b/member-service/src/main/java/com/farmted/memberservice/controller/MemberController.java @@ -42,7 +42,7 @@ public String healthCheck() { @Operation(summary = "멤버의 상세 정보 등록", description = "회원가입이 완료된 멤버의 상세정보를 작성, 완료 시 Role을 User로 변경") @PostMapping("/members") public ResponseEntity createMember(@Valid @RequestPart("CREATE") RequestCreateMemberDto dto, - @RequestPart("IMAGE")MultipartFile image, + @RequestPart(value = "IMAGE",required = false)MultipartFile image, @RequestHeader("UUID") String memberUUID) { dto.setMemberUuid(memberUUID); memberService.createMember(dto, image); From a37c60af1adcf7a06355f7b25d5209cfabb2ae7e Mon Sep 17 00:00:00 2001 From: JinDalgi Date: Fri, 29 Dec 2023 05:40:34 +0900 Subject: [PATCH 3/5] [ING #104 ] gcp -ing --- front-service/package-lock.json | 777 +++++++++--------- front-service/src/App.tsx | 4 +- front-service/src/components/Main.tsx | 3 +- .../board/boardRoute/BoardRouteController.tsx | 6 +- .../src/components/sidebar/sidebar.tsx | 8 + .../src/components/sidebar/sidebarStyle.css | 9 - .../components/user/authentication/index.tsx | 18 +- .../response/get-sign-in-user.response.dto.ts | 5 + .../user/loginedUser/apis/response/index.ts | 5 + .../src/components/user/loginedUser/index.tsx | 22 +- .../src/components/user/loginedUser/style.css | 192 +++++ .../src/components/user/store/user.store.ts | 19 +- .../components/user/userRoute/UserMain.tsx | 10 - .../user/userRoute/UserRouteController.tsx | 13 - front-service/webpack.config.js | 2 +- 15 files changed, 651 insertions(+), 442 deletions(-) create mode 100644 front-service/src/components/user/loginedUser/apis/response/get-sign-in-user.response.dto.ts create mode 100644 front-service/src/components/user/loginedUser/apis/response/index.ts create mode 100644 front-service/src/components/user/loginedUser/style.css delete mode 100644 front-service/src/components/user/userRoute/UserMain.tsx delete mode 100644 front-service/src/components/user/userRoute/UserRouteController.tsx diff --git a/front-service/package-lock.json b/front-service/package-lock.json index 77551031..88277f62 100644 --- a/front-service/package-lock.json +++ b/front-service/package-lock.json @@ -93,21 +93,21 @@ } }, "node_modules/@babel/core": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", - "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.5", - "@babel/parser": "^7.23.5", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -123,12 +123,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.5", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -162,14 +162,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -178,9 +178,9 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", - "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", + "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -218,9 +218,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -440,14 +440,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", - "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5" + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" @@ -467,9 +467,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1050,12 +1050,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1578,13 +1579,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz", - "integrity": "sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", "@babel/plugin-syntax-typescript": "^7.23.3" }, @@ -1659,13 +1660,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz", - "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz", + "integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.23.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", @@ -1705,7 +1706,7 @@ "@babel/plugin-transform-dynamic-import": "^7.23.4", "@babel/plugin-transform-exponentiation-operator": "^7.23.3", "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.6", "@babel/plugin-transform-function-name": "^7.23.3", "@babel/plugin-transform-json-strings": "^7.23.4", "@babel/plugin-transform-literals": "^7.23.3", @@ -1812,9 +1813,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", - "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1837,20 +1838,20 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1858,9 +1859,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -1902,30 +1903,6 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, - "node_modules/@emotion/babel-plugin/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, "node_modules/@emotion/cache": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", @@ -1938,11 +1915,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/cache/node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, "node_modules/@emotion/hash": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", @@ -1962,14 +1934,14 @@ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" }, "node_modules/@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "version": "11.11.3", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.3.tgz", + "integrity": "sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==", "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.11.0", "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", + "@emotion/serialize": "^1.1.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", "@emotion/utils": "^1.2.1", "@emotion/weak-memoize": "^0.3.1", @@ -1985,9 +1957,9 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.3.tgz", + "integrity": "sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==", "dependencies": { "@emotion/hash": "^0.9.1", "@emotion/memoize": "^0.8.1", @@ -2144,14 +2116,14 @@ "dev": true }, "node_modules/@mui/base": { - "version": "5.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.27.tgz", - "integrity": "sha512-duL37qxihT1N0pW/gyXVezP7SttLkF+cLAs/y6g6ubEFmVadjbnZ45SeF12/vAiKzqwf5M0uFH1cczIPXFZygA==", + "version": "5.0.0-beta.29", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.29.tgz", + "integrity": "sha512-OXfUssYrB6ch/xpBVHMKAjThPlI9VyGGKdvQLMXef2j39wXfcxPlUVQlwia/lmE3rxWIGvbwkZsDtNYzLMsDUg==", "dependencies": { - "@babel/runtime": "^7.23.5", + "@babel/runtime": "^7.23.6", "@floating-ui/react-dom": "^2.0.4", "@mui/types": "^7.2.11", - "@mui/utils": "^5.15.0", + "@mui/utils": "^5.15.2", "@popperjs/core": "^2.11.8", "clsx": "^2.0.0", "prop-types": "^15.8.1" @@ -2175,26 +2147,26 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.0.tgz", - "integrity": "sha512-NpGtlHwuyLfJtdrlERXb8qRqd279O0VnuGaZAor1ehdNhUJOD1bSxHDeXKZkbqNpvi50hasFj7lsbTpluworTQ==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.2.tgz", + "integrity": "sha512-0vk4ckS2w1F5PmkSXSd7F/QuRlNcPqWTJ8CPl+HQRLTIhJVS/VKEI+3dQufOdKfn2wS+ecnvlvXerbugs+xZ8Q==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" } }, "node_modules/@mui/material": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.0.tgz", - "integrity": "sha512-60CDI/hQNwJv9a3vEZtFG7zz0USdQhVwpBd3fZqrzhuXSdiMdYMaZcCXeX/KMuNq0ZxQEAZd74Pv+gOb408QVA==", - "dependencies": { - "@babel/runtime": "^7.23.5", - "@mui/base": "5.0.0-beta.27", - "@mui/core-downloads-tracker": "^5.15.0", - "@mui/system": "^5.15.0", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.2.tgz", + "integrity": "sha512-JnoIrpNmEHG5uC1IyEdgsnDiaiuCZnUIh7f9oeAr87AvBmNiEJPbo7XrD7kBTFWwp+b97rQ12QdSs9CLhT2n/A==", + "dependencies": { + "@babel/runtime": "^7.23.6", + "@mui/base": "5.0.0-beta.29", + "@mui/core-downloads-tracker": "^5.15.2", + "@mui/system": "^5.15.2", "@mui/types": "^7.2.11", - "@mui/utils": "^5.15.0", - "@types/react-transition-group": "^4.4.9", + "@mui/utils": "^5.15.2", + "@types/react-transition-group": "^4.4.10", "clsx": "^2.0.0", "csstype": "^3.1.2", "prop-types": "^15.8.1", @@ -2228,12 +2200,12 @@ } }, "node_modules/@mui/private-theming": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.0.tgz", - "integrity": "sha512-7WxtIhXxNek0JjtsYy+ut2LtFSLpsUW5JSDehQO+jF7itJ8ehy7Bd9bSt2yIllbwGjCFowLfYpPk2Ykgvqm1tA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.2.tgz", + "integrity": "sha512-KlXx5TH1Mw9omSY+Q6rz5TA/P71meSYaAOeopiW8s6o433+fnOxS17rZbmd1RnDZGCo+j24TfCavQuCMBAZnQA==", "dependencies": { - "@babel/runtime": "^7.23.5", - "@mui/utils": "^5.15.0", + "@babel/runtime": "^7.23.6", + "@mui/utils": "^5.15.2", "prop-types": "^15.8.1" }, "engines": { @@ -2254,11 +2226,11 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.0.tgz", - "integrity": "sha512-6NysIsHkuUS2lF+Lzv1jiK3UjBJk854/vKVcJQVGKlPiqNEVZJNlwaSpsaU5xYXxWEZYfbVFSAomLOS/LV/ovQ==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.2.tgz", + "integrity": "sha512-fYEN3IZzbebeHwAmQHhxwruiOIi8W74709qXg/7tgtHV4byQSmPgnnKsZkg0hFlzjEbcJIRZyZI0qEecgpR2cg==", "dependencies": { - "@babel/runtime": "^7.23.5", + "@babel/runtime": "^7.23.6", "@emotion/cache": "^11.11.0", "csstype": "^3.1.2", "prop-types": "^15.8.1" @@ -2285,15 +2257,15 @@ } }, "node_modules/@mui/system": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.0.tgz", - "integrity": "sha512-8TPjfTlYBNB7/zBJRL4QOD9kImwdZObbiYNh0+hxvhXr2koezGx8USwPXj8y/JynbzGCkIybkUztCdWlMZe6OQ==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.2.tgz", + "integrity": "sha512-I7CzLiHDtU/BTobJgSk+wPGGWG95K8lYfdFEnq//wOgSrLDAdOVvl2gleDxJWO+yAbGz4RKEOnR9KuD+xQZH4A==", "dependencies": { - "@babel/runtime": "^7.23.5", - "@mui/private-theming": "^5.15.0", - "@mui/styled-engine": "^5.15.0", + "@babel/runtime": "^7.23.6", + "@mui/private-theming": "^5.15.2", + "@mui/styled-engine": "^5.15.2", "@mui/types": "^7.2.11", - "@mui/utils": "^5.15.0", + "@mui/utils": "^5.15.2", "clsx": "^2.0.0", "csstype": "^3.1.2", "prop-types": "^15.8.1" @@ -2337,11 +2309,11 @@ } }, "node_modules/@mui/utils": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.0.tgz", - "integrity": "sha512-XSmTKStpKYamewxyJ256+srwEnsT3/6eNo6G7+WC1tj2Iq9GfUJ/6yUoB7YXjOD2jTZ3XobToZm4pVz1LBt6GA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.2.tgz", + "integrity": "sha512-6dGM9/guFKBlFRHA7/mbM+E7wE7CYDy9Ny4JLtD3J+NTyhi8nd8YxlzgAgTaTVqY0BpdQ2zdfB/q6+p2EdGM0w==", "dependencies": { - "@babel/runtime": "^7.23.5", + "@babel/runtime": "^7.23.6", "@types/prop-types": "^15.7.11", "prop-types": "^15.8.1", "react-is": "^18.2.0" @@ -2373,9 +2345,9 @@ } }, "node_modules/@react-aria/ssr": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.0.tgz", - "integrity": "sha512-Bz6BqP6ZorCme9tSWHZVmmY+s7AU8l6Vl2NUYmBzezD//fVHHfFo4lFBn5tBuAaJEm3AuCLaJQ6H2qhxNSb7zg==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.1.tgz", + "integrity": "sha512-NqzkLFP8ZVI4GSorS0AYljC13QW2sc8bDqJOkBvkAt3M8gbcAXJWVRGtZBCRscki9RZF+rNlnPdg0G0jYkhJcg==", "dependencies": { "@swc/helpers": "^0.5.0" }, @@ -2387,9 +2359,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.0.tgz", - "integrity": "sha512-WOHih+ClN7N8oHk9N4JUiMxQJmRVaOxcg8w7F/oHUXzJt920ekASLI/7cYX8XkntDWRhLZtsk6LbGrkgOAvi5A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.1.tgz", + "integrity": "sha512-Qg4DMQsfPNAs88rb2xkdk03N3bjK4jgX5fR24eHCTR9q6PrhZQZ4UJBPzCHJkIpTRN1UKxx2DzjZmnC+7Lj0Ow==", "engines": { "node": ">=14.0.0" } @@ -2485,9 +2457,9 @@ "integrity": "sha512-7z/eR6O859gyWIAjuvBWFzNURmf2oPBmJlfVWkwehU5nzIyjwBsTh7WMmEEV4JFnHuQ3ex4oyTvfKzcyJVDBNA==" }, "node_modules/@types/eslint": { - "version": "8.44.8", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.8.tgz", - "integrity": "sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==", "devOptional": true, "dependencies": { "@types/estree": "*", @@ -2582,9 +2554,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz", - "integrity": "sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==", + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", "devOptional": true, "dependencies": { "undici-types": "~5.26.4" @@ -2610,9 +2582,9 @@ "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "node_modules/@types/qs": { - "version": "6.9.10", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", - "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==", "dev": true }, "node_modules/@types/quill": { @@ -2630,9 +2602,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.2.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz", - "integrity": "sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==", + "version": "18.2.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.46.tgz", + "integrity": "sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2640,9 +2612,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.17", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz", - "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==", + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", "dev": true, "dependencies": { "@types/react": "*" @@ -2747,9 +2719,9 @@ } }, "node_modules/@types/stylis": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.4.tgz", - "integrity": "sha512-36ZrGJ8fgtBr6nwNnuJ9jXIj+bn/pF6UoqmrQT7+Y99+tFFeHHsoR54+194dHdyhPjgbeoNz3Qru0oRt0l6ASQ==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==" }, "node_modules/@types/warning": { "version": "3.0.3", @@ -3113,10 +3085,9 @@ "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" }, "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/asynckit": { "version": "0.4.0", @@ -3132,9 +3103,9 @@ } }, "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.3.tgz", + "integrity": "sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3156,13 +3127,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.4.4", "semver": "^6.3.1" }, "peerDependencies": { @@ -3170,12 +3141,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.4.4", "core-js-compat": "^3.33.1" }, "peerDependencies": { @@ -3183,12 +3154,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.4.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -3247,14 +3218,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3280,6 +3243,12 @@ "multicast-dns": "^7.2.5" } }, + "node_modules/bonjour-service/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -3374,10 +3343,9 @@ } }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -3421,9 +3389,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001572", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001572.tgz", + "integrity": "sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==", "devOptional": true, "funding": [ { @@ -3453,6 +3421,14 @@ "node": ">=4" } }, + "node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -3490,9 +3466,9 @@ } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.0.tgz", + "integrity": "sha512-FQuRlyKinxrb5gwJlfVASbSrDlikDJ07426TrfPsdGLvtochowmkbnSFdQGJ2aoXrSetq5KqGV9emvWpy+91xA==" }, "node_modules/clean-css": { "version": "5.3.3", @@ -3574,9 +3550,12 @@ } }, "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==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } }, "node_modules/compressible": { "version": "2.0.18", @@ -3608,6 +3587,15 @@ "node": ">= 0.8.0" } }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3649,33 +3637,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -4116,9 +4077,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.609", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.609.tgz", - "integrity": "sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==", + "version": "1.4.616", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz", + "integrity": "sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==", "devOptional": true }, "node_modules/emojis-list": { @@ -4200,11 +4161,14 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint-scope": { @@ -4268,10 +4232,9 @@ } }, "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" }, "node_modules/events": { "version": "3.3.0", @@ -4351,11 +4314,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -4572,6 +4530,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -4792,36 +4764,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/html-entities": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", @@ -4858,14 +4800,6 @@ "node": ">=12" } }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, "node_modules/html-webpack-plugin": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", @@ -4980,6 +4914,12 @@ } } }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -5027,14 +4967,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, "node_modules/import-local": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", @@ -5087,12 +5019,11 @@ } }, "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "dev": true, + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { - "node": ">= 10" + "node": ">= 0.10" } }, "node_modules/is-arguments": { @@ -5590,9 +5521,9 @@ } }, "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } @@ -6021,6 +5952,7 @@ "version": "8.4.32", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, "funding": [ { "type": "opencollective", @@ -6074,9 +6006,9 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz", + "integrity": "sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.4" @@ -6104,9 +6036,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.0.14", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.14.tgz", + "integrity": "sha512-65xXYsT40i9GyWzlHQ5ShZoK7JZdySeOozi/tz2EezDo6c04q6+ckYMeoY7idaie1qp2dT5KoYQ2yky6JuoHnA==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -6187,14 +6119,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -6249,11 +6173,6 @@ "node": ">=0.10" } }, - "node_modules/quill/node_modules/eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -6285,14 +6204,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -6305,9 +6216,9 @@ } }, "node_modules/react-bootstrap": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.9.1.tgz", - "integrity": "sha512-ezgmh/ARCYp18LbZEqPp0ppvy+ytCmycDORqc8vXSKYV3cer4VH7OReV8uMOoKXmYzivJTxgzGHalGrHamryHA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.9.2.tgz", + "integrity": "sha512-a36B+EHsAI/aH+ZhXNILBFnqscE3zr10dWmjBmfhIb2QR7KSXJiGzYd6Faf/25G8G7/CP9TCL2B0WhUBOD2UBQ==", "dependencies": { "@babel/runtime": "^7.22.5", "@restart/hooks": "^0.4.9", @@ -6449,11 +6360,11 @@ } }, "node_modules/react-router": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.0.tgz", - "integrity": "sha512-hGZ0HXbwz3zw52pLZV3j3+ec+m/PQ9cTpBvqjFQmy2XVUWGn5MD+31oXHb6dVTxYzmAeaiUBYjkoNz66n3RGCg==", + "version": "6.21.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.1.tgz", + "integrity": "sha512-W0l13YlMTm1YrpVIOpjCADJqEUpz1vm+CMo47RuFX4Ftegwm6KOYsL5G3eiE52jnJpKvzm6uB/vTKTPKM8dmkA==", "dependencies": { - "@remix-run/router": "1.14.0" + "@remix-run/router": "1.14.1" }, "engines": { "node": ">=14.0.0" @@ -6463,12 +6374,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.0.tgz", - "integrity": "sha512-1dUdVj3cwc1npzJaf23gulB562ESNvxf7E4x8upNJycqyUm5BRRZ6dd3LrlzhtLaMrwOCO8R0zoiYxdaJx4LlQ==", + "version": "6.21.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.1.tgz", + "integrity": "sha512-QCNrtjtDPwHDO+AO21MJd7yIcr41UetYt5jzaB9Y1UYaPTCnVuJq6S748g1dE11OQlCFIQg+RtAA1SEZIyiBeA==", "dependencies": { - "@remix-run/router": "1.14.0", - "react-router": "6.21.0" + "@remix-run/router": "1.14.1", + "react-router": "6.21.1" }, "engines": { "node": ">=14.0.0" @@ -6514,19 +6425,24 @@ } }, "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -6570,9 +6486,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -6700,7 +6616,7 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", @@ -6709,6 +6625,14 @@ "node": ">=8" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -7063,12 +6987,11 @@ } }, "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, "node_modules/source-map-js": { @@ -7126,6 +7049,20 @@ "wbuf": "^1.7.3" } }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -7143,14 +7080,18 @@ } }, "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { - "safe-buffer": "~5.2.0" + "safe-buffer": "~5.1.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7188,19 +7129,19 @@ } }, "node_modules/styled-components": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.1.tgz", - "integrity": "sha512-cpZZP5RrKRIClBW5Eby4JM1wElLVP4NQrJbJ0h10TidTyJf4SIIwa3zLXOoPb4gJi8MsJ8mjq5mu2IrEhZIAcQ==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.6.tgz", + "integrity": "sha512-DgTLULSC29xpabJ24bbn1+hulU6vvGFQf4RPwBOJrm8WJFnN42yXpo5voBt3jDSJBa5tBd1L6PqswJjQ0wRKdg==", "dependencies": { - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/unitless": "^0.8.0", - "@types/stylis": "^4.0.2", - "css-to-react-native": "^3.2.0", - "csstype": "^3.1.2", - "postcss": "^8.4.31", - "shallowequal": "^1.1.0", - "stylis": "^4.3.0", - "tslib": "^2.5.0" + "@emotion/is-prop-valid": "1.2.1", + "@emotion/unitless": "0.8.0", + "@types/stylis": "4.2.0", + "css-to-react-native": "3.2.0", + "csstype": "3.1.2", + "postcss": "8.4.31", + "shallowequal": "1.1.0", + "stylis": "4.3.1", + "tslib": "2.5.0" }, "engines": { "node": ">= 16" @@ -7214,10 +7155,57 @@ "react-dom": ">= 16.8.0" } }, + "node_modules/styled-components/node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/styled-components/node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/styled-components/node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", + "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" }, "node_modules/supports-color": { "version": "5.5.0", @@ -7242,9 +7230,9 @@ } }, "node_modules/sweetalert2": { - "version": "11.10.1", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.1.tgz", - "integrity": "sha512-qu145oBuFfjYr5yZW9OSdG6YmRxDf8CnkgT/sXMfrXGe+asFy2imC2vlaLQ/L/naZ/JZna1MPAY56G4qYM0VUQ==", + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.2.tgz", + "integrity": "sha512-BYlIxGw6OF9Rw2z1wlnh1U+fvHHkvtg4BGyimV9nZxQRGvCBfx9uonxgwuYpJuYqCtM+2W1KOm8iMIEb/2v7Hg==", "funding": { "type": "individual", "url": "https://github.com/sponsors/limonte" @@ -7276,16 +7264,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "devOptional": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -7309,6 +7297,11 @@ } } }, + "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==" + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -7448,6 +7441,15 @@ "node": ">=10" } }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/ts-loader/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -7980,6 +7982,15 @@ "ajv": "^8.8.2" } }, + "node_modules/webpack-dev-server/node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -8079,9 +8090,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/front-service/src/App.tsx b/front-service/src/App.tsx index 2b698e93..1157fb2d 100644 --- a/front-service/src/App.tsx +++ b/front-service/src/App.tsx @@ -2,9 +2,7 @@ import React from "react"; import styled, { createGlobalStyle } from "styled-components" import {BrowserRouter as Router} from 'react-router-dom'; import Main from "./components/Main"; -import UserRouteController from "./components/user/userRoute/UserRouteController"; import Sidebar from "./components/sidebar/sidebar"; -import BiddingList from "./components/bidding/biddingList/BiddingList"; const GlobalStyle = createGlobalStyle` body{ @@ -15,6 +13,8 @@ const GlobalStyle = createGlobalStyle` flex-direction: column; } ` + + const App = () => ( diff --git a/front-service/src/components/Main.tsx b/front-service/src/components/Main.tsx index 913b8138..ea808aff 100644 --- a/front-service/src/components/Main.tsx +++ b/front-service/src/components/Main.tsx @@ -1,12 +1,11 @@ import React from "react" import BoardRouteController from "./board/boardRoute/BoardRouteController" -import UserRouteController from "./user/userRoute/UserRouteController"; const Main = () => { return ( <> + - {/**/} ) } diff --git a/front-service/src/components/board/boardRoute/BoardRouteController.tsx b/front-service/src/components/board/boardRoute/BoardRouteController.tsx index fd6960a9..ca58630b 100644 --- a/front-service/src/components/board/boardRoute/BoardRouteController.tsx +++ b/front-service/src/components/board/boardRoute/BoardRouteController.tsx @@ -7,6 +7,7 @@ import BoardDetail from "../boardDetail/BoardDetail" import Authentication from "../../user/authentication"; import BiddingList from "../../bidding/biddingList/BiddingList" import Sidebar from "../../sidebar/sidebar"; +import User from "../../user/loginedUser"; const BoardRouteController = () => { return( @@ -14,12 +15,13 @@ const BoardRouteController = () => { <> }> - } /> + } /> }/> - } /> + } /> }/> }/> }/> + } /> diff --git a/front-service/src/components/sidebar/sidebar.tsx b/front-service/src/components/sidebar/sidebar.tsx index df76a183..e53c9f8e 100644 --- a/front-service/src/components/sidebar/sidebar.tsx +++ b/front-service/src/components/sidebar/sidebar.tsx @@ -4,6 +4,7 @@ import {useNavigate} from "react-router-dom"; import {Button, ButtonGroup} from "react-bootstrap"; import './sidebarStyle.css'; + const Sidebar = () => { const navigator = useNavigate(); @@ -23,6 +24,10 @@ const Sidebar = () => { const handleBoardDetailClick = () => { navigator(`/boards/firstBoardUUID`); }; + const handleMyPageClick = () => { + navigator(`/mypage`); + }; + return ( @@ -43,6 +48,9 @@ const Sidebar = () => { + diff --git a/front-service/src/components/sidebar/sidebarStyle.css b/front-service/src/components/sidebar/sidebarStyle.css index acabe892..447e3c51 100644 --- a/front-service/src/components/sidebar/sidebarStyle.css +++ b/front-service/src/components/sidebar/sidebarStyle.css @@ -1,12 +1,3 @@ .flex-accordion { display: flex; - flex-direction: column; -} - -.flex-accordion .accordion-item { - flex: 1; -} - -.flex-accordion .accordion-body { - flex: 1; } \ No newline at end of file diff --git a/front-service/src/components/user/authentication/index.tsx b/front-service/src/components/user/authentication/index.tsx index 83f035a0..21bba07b 100644 --- a/front-service/src/components/user/authentication/index.tsx +++ b/front-service/src/components/user/authentication/index.tsx @@ -1,13 +1,13 @@ import './style.css'; -import useUserStore from "../store/user.store"; import {useCookies} from "react-cookie"; import {useRef, useState, KeyboardEvent, ChangeEvent} from "react"; -import {useNavigate} from "react-router-dom"; +import {Link, useNavigate} from "react-router-dom"; import React from "react"; import {SignInRequestDto, SignUpRequestDto} from "../dto/request"; import Swal from "sweetalert2"; import InputBox from "../../inputbox"; import {Address, useDaumPostcodePopup} from "react-daum-postcode"; +import userLoginUserStore from "../store/user.store"; @@ -16,7 +16,7 @@ import {Address, useDaumPostcodePopup} from "react-daum-postcode"; export default function Authentication() { // state: 로그인 유저 전역 상태 // - const {user, setUser} = useUserStore(); + const {loginUser, setLoginUser} = userLoginUserStore(); // state: 쿠키 상태 // const [cookies, setCookie] = useCookies(); // state: 화면 상태 // @@ -93,6 +93,14 @@ export default function Authentication() { setView('sign-up'); } + // event handler: 구글 로그인 클릭 이벤트 처리 // + const onGoogleButtonClickHandler = () => { + const GOOGLE_URI = "/oauth2/authorization/google"; + + fetch(GOOGLE_URI, {method: "POST"}) + .then(response => response.ok); + } + // render: sign in 카드 컴포넌트 렌더링 // return (
@@ -112,6 +120,10 @@ export default function Authentication() {
)}
{'로그인'}
+
+ Icon + Google로 계속 +
{'신규 사용자이신가요? '}{'회원가입'}
diff --git a/front-service/src/components/user/loginedUser/apis/response/get-sign-in-user.response.dto.ts b/front-service/src/components/user/loginedUser/apis/response/get-sign-in-user.response.dto.ts new file mode 100644 index 00000000..038e87e3 --- /dev/null +++ b/front-service/src/components/user/loginedUser/apis/response/get-sign-in-user.response.dto.ts @@ -0,0 +1,5 @@ +import User from "../../../types/user.interface"; + +export default interface GetSignInUserResponseDto extends User { + +} \ No newline at end of file diff --git a/front-service/src/components/user/loginedUser/apis/response/index.ts b/front-service/src/components/user/loginedUser/apis/response/index.ts new file mode 100644 index 00000000..684e4f70 --- /dev/null +++ b/front-service/src/components/user/loginedUser/apis/response/index.ts @@ -0,0 +1,5 @@ +import GetSignInUserResponseDto from "./get-sign-in-user.response.dto"; + +export type { + GetSignInUserResponseDto +} \ No newline at end of file diff --git a/front-service/src/components/user/loginedUser/index.tsx b/front-service/src/components/user/loginedUser/index.tsx index 249ec4b3..fc6abea5 100644 --- a/front-service/src/components/user/loginedUser/index.tsx +++ b/front-service/src/components/user/loginedUser/index.tsx @@ -1,10 +1,11 @@ -import './style.css' +import './style.css'; import {useNavigate, useParams} from "react-router-dom"; import React, {ChangeEvent, useEffect, useRef, useState} from "react"; import {useCookies} from "react-cookie"; -import useUserStore from "../store/user.store"; import MembernameRequestDto from "../dto/request/memberNameRequestDto"; - +import userLoginUserStore from "../store/user.store"; +import {GetSignInUserResponseDto} from "./apis/response"; +import User from "../types/user.interface"; // component: 유저 페이지 // @@ -13,7 +14,7 @@ export default function User() { // state: 조회하는 유저 이메일 path variable 상태 // const { searchEmail } = useParams(); // state: 로그인 유저 정보 상태 // - const { user, setUser } = useUserStore(); + const { loginUser, setLoginUser } = userLoginUserStore(); // state: 본인 여부 상태 // const [isMyPage, setMyPage] = useState(false); @@ -25,8 +26,6 @@ export default function User() { // state: 프로필 이미지 input ref 상태 // const fileInputRef = useRef(null); - // state: cookie 상태 // - const [cookies, setCookie] = useCookies(); // state: 이메일 상태 // const [email, setEmail] = useState(''); // state: 프로필 이미지 상태 // @@ -39,6 +38,14 @@ export default function User() { const [showChangememberName, setShowChangememberName] = useState(false); + // function: get sign in user 처리 함수 // + const getSignInUserResponse = (responseBody: GetSignInUserResponseDto | null) => { + if (!responseBody) return; + const loginUser: User = {...(responseBody as GetSignInUserResponseDto)} + setLoginUser(loginUser); + } + + // event handler: 프로필 이미지 클릭 이벤트 처리 // const onProfileImageClickHandler = () => { if (!isMyPage) return; @@ -58,9 +65,6 @@ export default function User() { return; } - const accessToken = cookies.accessToken; - if (!accessToken) return; - const requestBody: MembernameRequestDto = { memberName }; //// fetch diff --git a/front-service/src/components/user/loginedUser/style.css b/front-service/src/components/user/loginedUser/style.css new file mode 100644 index 00000000..7bb2650d --- /dev/null +++ b/front-service/src/components/user/loginedUser/style.css @@ -0,0 +1,192 @@ +#user-info-wrapper { + padding: 40px 0; + + display: flex; + justify-content: center; +} + +.user-info-container { + width: 1200px; + + display: flex; + align-items: center; + gap: 25px; +} + +.user-info-profile-image-box-mypage { + width: 120px; + height: 120px; + + display: flex; + justify-content: center; + align-items: center; +} + +.user-info-profile-image-box-mypage:hover { + opacity: 0.85; + cursor: pointer; +} + +.user-info-profile-image-box { + width: 120px; + height: 120px; + + display: flex; + justify-content: center; + align-items: center; +} + +.user-info-profile-default-image { + border-radius: 50% 50%; + width: 100%; + height: 100%; + + display: flex; + justify-content: center; + align-items: center; + + background-color: rgba(217, 217, 217, 1); +} + +.user-info-profile-icon-box { + width: 40px; + height: 40px; +} + +.user-info-profile-image { + border-radius: 50% 50%; + width: 100%; + height: 100%; + + background-position: 50% 50%; + background-size: 100% 100%; +} + +.user-info-meta-box { + display: flex; + flex-direction: column; + gap: 10px; +} + +.user-info-nickname-box { + display: flex; + align-items: center; + gap: 10px; +} + +.user-info-nickname { + color: rgba(0, 0, 0, 0.7); + + font-size: 24px; + font-weight: 600; + line-height: 140%; +} + +.user-info-nickname-input { + border: none; + outline: none; + background: none; + padding: 0; + + display: inline-block; + + color: rgba(0, 0, 0, 1); + + font-size: 24px; + font-weight: 600; + line-height: 140%; +} + +.user-info-email { + color: rgba(0, 0, 0, 0.4); + + font-size: 16px; + font-weight: 600; + line-height: 140%; +} + +#user-board-wrapper { + padding: 40px 0; + + display: flex; + justify-content: center; + + background-color: rgba(0, 0, 0, 0.05); +} + +.user-board-container { + width: 1200px; + + display: flex; + flex-direction: column; + gap: 20px; +} + +.user-board-title { + color: rgba(0, 0, 0, 1); + + font-size: 24px; + font-weight: 500; + line-height: 140%; +} + +.user-board-contents-box { + display: grid; + grid-template-columns: 8fr 4fr; + gap: 24px; +} + +.user-board-contents-result-box { + display: flex; + flex-direction: column; + gap: 16px; +} + +.user-board-contents-nothing { + height: 76px; + + display: flex; + justify-content: center; + align-items: center; + + color: rgba(0, 0, 0, 0.4); + font-size: 24px; + font-weight: 500; + line-height: 140%; +} + +.user-board-button-box { + height: 76px; + + display: flex; + justify-content: center; + align-items: center; + + background-color: rgba(255, 255, 255, 1); +} + +.user-board-button-box:hover { + cursor: pointer; + background-color: rgba(0, 0, 0, 0.02); +} + +.user-board-button-contents { + display: flex; + align-items: center; + gap: 6px; +} + +.user-board-button-text { + color: rgba(0, 0, 0, 1); + + font-size: 18px; + font-weight: 500; + line-height: 140%; +} + +.user-board-pagination-box { + margin-top: 60px; + + display: flex; + justify-content: center; +} \ No newline at end of file diff --git a/front-service/src/components/user/store/user.store.ts b/front-service/src/components/user/store/user.store.ts index 154aab82..de91a62e 100644 --- a/front-service/src/components/user/store/user.store.ts +++ b/front-service/src/components/user/store/user.store.ts @@ -1,14 +1,17 @@ import LoginUser from "../types/login-user.interface"; import {create} from "zustand"; +import User from "../types/user.interface"; -interface UserStore { - user: LoginUser | null; - setUser: (user: LoginUser | null) => void; -} +interface LoginUserStore { + loginUser: User | null; + setLoginUser: (loginUser: User) => void; + resetLoginUser: () => void; +}; -const useUserStore = create(set => ({ - user: null, - setUser: (user: LoginUser | null) => {set((state) => ({ ...state, user }))}, +const userLoginUserStore = create(set => ({ + loginUser: null, + setLoginUser: loginUser => set(state => ({...state, loginUser})), + resetLoginUser: () => set(state => ({...state, loginUser: null})) })); -export default useUserStore; \ No newline at end of file +export default userLoginUserStore; \ No newline at end of file diff --git a/front-service/src/components/user/userRoute/UserMain.tsx b/front-service/src/components/user/userRoute/UserMain.tsx deleted file mode 100644 index a09d81a4..00000000 --- a/front-service/src/components/user/userRoute/UserMain.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import Board from "../../board/Board"; -import React from "react"; -import Authentication from "../authentication"; - -const UserMain = () => { - return ( - - ) -} -export default UserMain; \ No newline at end of file diff --git a/front-service/src/components/user/userRoute/UserRouteController.tsx b/front-service/src/components/user/userRoute/UserRouteController.tsx deleted file mode 100644 index 6342f028..00000000 --- a/front-service/src/components/user/userRoute/UserRouteController.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Route, Routes } from "react-router-dom" -import React from "react" -import Authentication from "../authentication"; - -const UserRouteController = () => { - return( - - - } /> - - ) -} -export default UserRouteController; \ No newline at end of file diff --git a/front-service/webpack.config.js b/front-service/webpack.config.js index d190bc0b..b31ba11c 100644 --- a/front-service/webpack.config.js +++ b/front-service/webpack.config.js @@ -27,7 +27,7 @@ module.exports = { ], }, devServer: { - port: 3000, + port: 9000, open: true, proxy: { '/api/*': { From 285eb01f7ec116e1c82a6f458c43fb4f8ea8f98b Mon Sep 17 00:00:00 2001 From: JinDalgi Date: Fri, 29 Dec 2023 09:50:46 +0900 Subject: [PATCH 4/5] [ING #104 ] -ing --- .../src/components/user/authentication/index.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/front-service/src/components/user/authentication/index.tsx b/front-service/src/components/user/authentication/index.tsx index 21bba07b..5b3db03d 100644 --- a/front-service/src/components/user/authentication/index.tsx +++ b/front-service/src/components/user/authentication/index.tsx @@ -23,7 +23,8 @@ export default function Authentication() { const [view, setView] = useState<'sign-in' | 'sign-up'>('sign-in'); // state: UUID 상태 // const [uuid, setUuid] = useState(null); - + // state: 페이지 번호 상태 // + const [page, setPage] = useState<1 | 2>(1); // function: 네비게이트 함수 // const navigator = useNavigate(); @@ -95,12 +96,17 @@ export default function Authentication() { // event handler: 구글 로그인 클릭 이벤트 처리 // const onGoogleButtonClickHandler = () => { - const GOOGLE_URI = "/oauth2/authorization/google"; + const GOOGLE_URI = '/api/login/oauth2/code/google.com'; fetch(GOOGLE_URI, {method: "POST"}) .then(response => response.ok); + setPage(2); + setView('sign-up'); } + + + // render: sign in 카드 컴포넌트 렌더링 // return (
@@ -120,7 +126,7 @@ export default function Authentication() {
)}
{'로그인'}
-
+
Icon Google로 계속
@@ -135,8 +141,6 @@ export default function Authentication() { // component: sign up 카드 컴포넌트 // const SignUpCard = () => { - // state: 페이지 번호 상태 // - const [page, setPage] = useState<1 | 2>(1); // state: 이메일 상태 // const [email, setEmail] = useState(''); From f45e8159b079d3b5d36527a9ea522eb6ee6a6016 Mon Sep 17 00:00:00 2001 From: JinDalgi Date: Fri, 29 Dec 2023 11:51:13 +0900 Subject: [PATCH 5/5] [ING #104 ] -ing --- front-service/.gitignore | 5 +- front-service/package-lock.json | 12 +++++ front-service/package.json | 1 + .../components/user/authentication/index.tsx | 10 ++-- front-service/webpack.config.js | 9 +++- gateway-service/.idea/workspace.xml | 47 ++++++++++--------- 6 files changed, 56 insertions(+), 28 deletions(-) diff --git a/front-service/.gitignore b/front-service/.gitignore index 8dd4607a..34676883 100644 --- a/front-service/.gitignore +++ b/front-service/.gitignore @@ -395,4 +395,7 @@ FodyWeavers.xsd *.msp # JetBrains Rider -*.sln.iml \ No newline at end of file +*.sln.iml + +#### +.env \ No newline at end of file diff --git a/front-service/package-lock.json b/front-service/package-lock.json index 88277f62..346a77b0 100644 --- a/front-service/package-lock.json +++ b/front-service/package-lock.json @@ -17,6 +17,7 @@ "@types/styled-components": "^5.1.34", "axios": "^1.6.2", "bootstrap": "^5.3.2", + "dotenv": "^16.3.1", "express": "^4.18.2", "html-webpack-plugin": "^5.6.0", "moment": "^2.29.4", @@ -4071,6 +4072,17 @@ "tslib": "^2.0.3" } }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", diff --git a/front-service/package.json b/front-service/package.json index 75d9636f..40db8306 100644 --- a/front-service/package.json +++ b/front-service/package.json @@ -20,6 +20,7 @@ "@types/styled-components": "^5.1.34", "axios": "^1.6.2", "bootstrap": "^5.3.2", + "dotenv": "^16.3.1", "express": "^4.18.2", "html-webpack-plugin": "^5.6.0", "moment": "^2.29.4", diff --git a/front-service/src/components/user/authentication/index.tsx b/front-service/src/components/user/authentication/index.tsx index 5b3db03d..fdaa9aac 100644 --- a/front-service/src/components/user/authentication/index.tsx +++ b/front-service/src/components/user/authentication/index.tsx @@ -95,11 +95,13 @@ export default function Authentication() { } // event handler: 구글 로그인 클릭 이벤트 처리 // - const onGoogleButtonClickHandler = () => { - const GOOGLE_URI = '/api/login/oauth2/code/google.com'; + const onGoogleButtonClickHandler = () => { + + const CLIENT_ID = process.env.REACT_APP_CLIENT_ID; + const REDIRECT_URI = process.env.REACT_APP_REDIRECT_URI; + window.location.href = 'https://accounts.google.com/o/oauth2/v2/auth?client_id=' + + CLIENT_ID + '&redirect_uri=' + REDIRECT_URI + '&response_type=code&scope=email profile'; - fetch(GOOGLE_URI, {method: "POST"}) - .then(response => response.ok); setPage(2); setView('sign-up'); } diff --git a/front-service/webpack.config.js b/front-service/webpack.config.js index b31ba11c..4eb8a0a4 100644 --- a/front-service/webpack.config.js +++ b/front-service/webpack.config.js @@ -1,4 +1,8 @@ const path = require('path'); +const {DefinePlugin} = require('webpack'); +const dotenv = require('dotenv'); + +dotenv.config(); module.exports = { mode: 'development', @@ -26,8 +30,11 @@ module.exports = { }, ], }, + plugins: [new DefinePlugin({ + "process.env": JSON.stringify(process.env), + })], devServer: { - port: 9000, + port: 3000, open: true, proxy: { '/api/*': { diff --git a/gateway-service/.idea/workspace.xml b/gateway-service/.idea/workspace.xml index e8346da5..cd8e5f8b 100644 --- a/gateway-service/.idea/workspace.xml +++ b/gateway-service/.idea/workspace.xml @@ -5,9 +5,11 @@ + + + - @@ -134,6 +136,7 @@ +