From 0e335134020efdb069ebf88d1d4799f4fcf91741 Mon Sep 17 00:00:00 2001 From: pakxe Date: Thu, 1 Aug 2024 13:02:39 +0900 Subject: [PATCH 01/20] =?UTF-8?q?chore:=20=EC=97=AD=ED=95=A0=20=EC=B2=B4?= =?UTF-8?q?=EC=9D=B8=EC=A7=80=20=EC=9C=84=ED=95=9C=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/InOutItem/InOutItem.tsx | 2 +- client/package-lock.json | 233 +++++++++++++++++- client/package.json | 4 +- .../Modal/MangchoModal/ComeInMember.style.ts | 20 ++ .../Modal/MangchoModal/ComeInMember.tsx | 25 ++ .../Modal/MangchoModal/GetOutMember.style.ts | 20 ++ .../Modal/MangchoModal/GetOutMember.tsx | 25 ++ client/src/components/StepList/StepList.tsx | 15 +- 8 files changed, 334 insertions(+), 10 deletions(-) create mode 100644 client/src/components/Modal/MangchoModal/ComeInMember.style.ts create mode 100644 client/src/components/Modal/MangchoModal/ComeInMember.tsx create mode 100644 client/src/components/Modal/MangchoModal/GetOutMember.style.ts create mode 100644 client/src/components/Modal/MangchoModal/GetOutMember.tsx diff --git a/HDesign/src/components/InOutItem/InOutItem.tsx b/HDesign/src/components/InOutItem/InOutItem.tsx index 2f506f5f3..d5a52002e 100644 --- a/HDesign/src/components/InOutItem/InOutItem.tsx +++ b/HDesign/src/components/InOutItem/InOutItem.tsx @@ -25,7 +25,7 @@ export const InOutItem: React.FC = ({ // TODO: (@toari) : 사람 수 많을 때 UX writing 처리 return ( - + alert('안녕')}> {names.join(', ')} {IN_OUT_TEXT[inOutType]} diff --git a/client/package-lock.json b/client/package-lock.json index 91269318a..71ae71aac 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -12,7 +12,7 @@ "@emotion/react": "^11.11.4", "@types/dotenv-webpack": "^7.0.7", "dotenv-webpack": "^8.1.0", - "haengdong-design": "^0.1.35", + "haengdong-design": "^0.1.49", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.24.1" @@ -2317,6 +2317,18 @@ "node": ">=14.0.0" } }, + "node_modules/@storybook/addon-webpack5-compiler-swc": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-webpack5-compiler-swc/-/addon-webpack5-compiler-swc-1.0.5.tgz", + "integrity": "sha512-1NlM3noit2vA22OyWb8Ma2lhcEKCS1Snv2kr+EkaVABUqNDfVc9AD/GgYQhF7F/2CoF5N2JU7uzXDzFHd5TzZg==", + "dependencies": { + "@swc/core": "^1.7.3", + "swc-loader": "^0.2.3" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", @@ -2560,6 +2572,206 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@swc/core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz", + "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==", + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.12" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.7.4", + "@swc/core-darwin-x64": "1.7.4", + "@swc/core-linux-arm-gnueabihf": "1.7.4", + "@swc/core-linux-arm64-gnu": "1.7.4", + "@swc/core-linux-arm64-musl": "1.7.4", + "@swc/core-linux-x64-gnu": "1.7.4", + "@swc/core-linux-x64-musl": "1.7.4", + "@swc/core-win32-arm64-msvc": "1.7.4", + "@swc/core-win32-ia32-msvc": "1.7.4", + "@swc/core-win32-x64-msvc": "1.7.4" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz", + "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz", + "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz", + "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz", + "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz", + "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz", + "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz", + "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz", + "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz", + "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz", + "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/types": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", + "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -6274,11 +6486,12 @@ "dev": true }, "node_modules/haengdong-design": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/haengdong-design/-/haengdong-design-0.1.35.tgz", - "integrity": "sha512-JhlZgZXzYfCMV57glEOiI+YKGstGAAOhBOKGad6Mugio/vNVUmInf3/eJPEy/10SM9reizYsSCt7eoyj71ZaSA==", + "version": "0.1.49", + "resolved": "https://registry.npmjs.org/haengdong-design/-/haengdong-design-0.1.49.tgz", + "integrity": "sha512-bY8mmPcpHYaQOv2JMfF9wPvk4J6lII0375NaqDx4jQDrgFgrFusbYZFAy+gf+I5F+VAPCUSzHoQ0X7bzmAfm6Q==", "dependencies": { "@emotion/react": "^11.11.4", + "@storybook/addon-webpack5-compiler-swc": "^1.0.5", "@svgr/webpack": "^8.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -9872,6 +10085,18 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, "node_modules/synckit": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", diff --git a/client/package.json b/client/package.json index cb8e9a714..168e79cb4 100644 --- a/client/package.json +++ b/client/package.json @@ -47,7 +47,7 @@ "@emotion/react": "^11.11.4", "@types/dotenv-webpack": "^7.0.7", "dotenv-webpack": "^8.1.0", - "haengdong-design": "^0.1.35", + "haengdong-design": "^0.1.49", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.24.1" @@ -56,4 +56,4 @@ "npm": ">=10.7.0", "node": ">=20.15.1" } -} \ No newline at end of file +} diff --git a/client/src/components/Modal/MangchoModal/ComeInMember.style.ts b/client/src/components/Modal/MangchoModal/ComeInMember.style.ts new file mode 100644 index 000000000..f0f5bf996 --- /dev/null +++ b/client/src/components/Modal/MangchoModal/ComeInMember.style.ts @@ -0,0 +1,20 @@ +import {css} from '@emotion/react'; + +export const setInitialParticipantsStyle = () => + css({ + display: 'flex', + flexDirection: 'column', + gap: '1.5rem', + width: '100%', + height: '100%', + padding: '0 1.5rem', + }); + +export const setInitialParticipantsInputGroupStyle = () => + css({ + display: 'flex', + flexDirection: 'column', + gap: '1rem', + overflow: 'auto', + paddingBottom: '11rem', + }); diff --git a/client/src/components/Modal/MangchoModal/ComeInMember.tsx b/client/src/components/Modal/MangchoModal/ComeInMember.tsx new file mode 100644 index 000000000..6947f1000 --- /dev/null +++ b/client/src/components/Modal/MangchoModal/ComeInMember.tsx @@ -0,0 +1,25 @@ +import {Text, Input, BottomSheet, FixedButton} from 'haengdong-design'; + +import {useStepList} from '@hooks/useStepList/useStepList'; + +import useDynamicInput from '@hooks/useDynamicAdditionalInput'; + +import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from './ComeInMember.style'; + +interface SetInitialParticipantsProps { + openBottomSheet: boolean; + setOpenBottomSheet: React.Dispatch>; +} + +const ComeInMember = ({isOpened, setOpenBottomSheet}: {isOpened: boolean; setOpenBottomSheet: any}) => { + const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); + + return ( + setOpenBottomSheet(false)}> + 망쵸모달 들어옴 모달 + alert('아아아앙')}>안녕 + + ); +}; + +export default ComeInMember; diff --git a/client/src/components/Modal/MangchoModal/GetOutMember.style.ts b/client/src/components/Modal/MangchoModal/GetOutMember.style.ts new file mode 100644 index 000000000..f7f307ec6 --- /dev/null +++ b/client/src/components/Modal/MangchoModal/GetOutMember.style.ts @@ -0,0 +1,20 @@ +// import {css} from '@emotion/react'; + +// export const setInitialParticipantsStyle = () => +// css({ +// display: 'flex', +// flexDirection: 'column', +// gap: '1.5rem', +// width: '100%', +// height: '100%', +// padding: '0 1.5rem', +// }); + +// export const setInitialParticipantsInputGroupStyle = () => +// css({ +// display: 'flex', +// flexDirection: 'column', +// gap: '1rem', +// overflow: 'auto', +// paddingBottom: '11rem', +// }); diff --git a/client/src/components/Modal/MangchoModal/GetOutMember.tsx b/client/src/components/Modal/MangchoModal/GetOutMember.tsx new file mode 100644 index 000000000..ef3f022ce --- /dev/null +++ b/client/src/components/Modal/MangchoModal/GetOutMember.tsx @@ -0,0 +1,25 @@ +import {Text, Input, BottomSheet, FixedButton} from 'haengdong-design'; + +import {useStepList} from '@hooks/useStepList/useStepList'; + +import useDynamicInput from '@hooks/useDynamicAdditionalInput'; + +import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from './ComeInMember.style'; + +interface SetInitialParticipantsProps { + openBottomSheet: boolean; + setOpenBottomSheet: React.Dispatch>; +} + +const GetOutMember = ({isOpened, setOpenBottomSheet}: {isOpened: boolean; setOpenBottomSheet: any}) => { + const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); + + return ( + setOpenBottomSheet(false)}> + 망쵸모달 나감 모달 + alert('아아아앙')}>안녕 + + ); +}; + +export default GetOutMember; diff --git a/client/src/components/StepList/StepList.tsx b/client/src/components/StepList/StepList.tsx index 6e9961f99..dc4a48059 100644 --- a/client/src/components/StepList/StepList.tsx +++ b/client/src/components/StepList/StepList.tsx @@ -1,9 +1,11 @@ -import {Flex, InOutItem, StepItem} from 'haengdong-design'; - +import {Flex, StepItem, InOutItem} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; +import {useState} from 'react'; +import ComeInMember from '@components/Modal/MangchoModal/ComeInMember'; const StepList = () => { const {stepList} = useStepList(); + const [isModalOn, setIsModalOn] = useState(false); // TODO: (@weadie) if else 구문이 지저분하므로 리펙터링이 필요합니다. return ( @@ -18,11 +20,18 @@ const StepList = () => { /> ); } else if (step.type === 'IN' || step.type === 'OUT') { - return name)} />; + return ( + name)} + onClick={() => setIsModalOn(prev => !prev)} + /> + ); } else { return <>; } })} + {isModalOn && setIsModalOn(prev => !prev)} />} ); }; From a9c6bc28f0e507145d3cd9e5667fbdc2c6fde1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Thu, 1 Aug 2024 15:20:09 +0900 Subject: [PATCH 02/20] =?UTF-8?q?feat:=20=EB=93=A4=EC=96=B4=EC=98=A8=20?= =?UTF-8?q?=EC=9D=B8=EC=9B=90=20=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: JUHA Co-authored-by: Arachne --- client/src/apis/request/action.ts | 15 ++++++ .../Modal/MangchoModal/ComeInMember.tsx | 45 ++++++++++++++--- .../Modal/MangchoModal/GetOutMember.tsx | 4 +- client/src/components/StepList/Step.tsx | 48 +++++++++++++++++++ client/src/components/StepList/StepList.tsx | 34 ++++--------- client/src/hooks/useStepList/type.ts | 2 +- client/src/hooks/useStepList/useStepList.tsx | 2 + client/src/type.d.ts | 39 +++++++++++++++ 8 files changed, 154 insertions(+), 35 deletions(-) create mode 100644 client/src/apis/request/action.ts create mode 100644 client/src/components/StepList/Step.tsx diff --git a/client/src/apis/request/action.ts b/client/src/apis/request/action.ts new file mode 100644 index 000000000..110555760 --- /dev/null +++ b/client/src/apis/request/action.ts @@ -0,0 +1,15 @@ +import {BASE_URL} from '@apis/baseUrl'; +import {TEMP_PREFIX} from '@apis/tempPrefix'; +import {requestDelete} from '@apis/fetcher'; +import {WithEventId} from '@apis/withEventId.type'; + +type RequestDeleteAction = { + actionId: number; +}; + +export const requestDeleteAction = async ({eventId, actionId}: WithEventId) => { + await requestDelete({ + baseUrl: BASE_URL.HD, + endpoint: `${TEMP_PREFIX}/${eventId}/actions/${actionId}`, + }); +}; diff --git a/client/src/components/Modal/MangchoModal/ComeInMember.tsx b/client/src/components/Modal/MangchoModal/ComeInMember.tsx index 6947f1000..3759b7f33 100644 --- a/client/src/components/Modal/MangchoModal/ComeInMember.tsx +++ b/client/src/components/Modal/MangchoModal/ComeInMember.tsx @@ -1,6 +1,9 @@ -import {Text, Input, BottomSheet, FixedButton} from 'haengdong-design'; +import {Text, Input, BottomSheet, FixedButton, Button, Flex} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; +import {MemberAction} from '@hooks/useStepList/type'; +import {requestDeleteAction} from '@apis/request/action'; +import useEventId from '@hooks/useEventId/useEventId'; import useDynamicInput from '@hooks/useDynamicAdditionalInput'; @@ -9,15 +12,45 @@ import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from interface SetInitialParticipantsProps { openBottomSheet: boolean; setOpenBottomSheet: React.Dispatch>; + actions: MemberAction[]; } -const ComeInMember = ({isOpened, setOpenBottomSheet}: {isOpened: boolean; setOpenBottomSheet: any}) => { - const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); +const ComeInMember = ({openBottomSheet, setOpenBottomSheet, actions}: SetInitialParticipantsProps) => { + const {refreshStepList, stepList} = useStepList(); + const {eventId} = useEventId(); + const memberActions = stepList.filter(step => step.type !== 'BILL').flatMap(step => step.actions); + + const hasNextMemberAction = (name: string, sequence: number) => { + return memberActions.find(action => action.name === name && action.sequence > sequence) !== undefined; + }; + + const deleteMember = async (action: MemberAction) => { + if (hasNextMemberAction(action.name, action.sequence)) { + if (!window.confirm('다음 인원 액션이 존재합니다. 같이 지우시겠습니까?')) { + return; + } + } + await requestDeleteAction({eventId, actionId: action.actionId}); + refreshStepList(); + }; return ( - setOpenBottomSheet(false)}> - 망쵸모달 들어옴 모달 - alert('아아아앙')}>안녕 + setOpenBottomSheet(false)}> +
+ 들어온 인원 수정하기 +
+ {actions.map(action => ( + +
+ +
+ +
+ ))} +
+
); }; diff --git a/client/src/components/Modal/MangchoModal/GetOutMember.tsx b/client/src/components/Modal/MangchoModal/GetOutMember.tsx index ef3f022ce..97b44d0ef 100644 --- a/client/src/components/Modal/MangchoModal/GetOutMember.tsx +++ b/client/src/components/Modal/MangchoModal/GetOutMember.tsx @@ -11,11 +11,11 @@ interface SetInitialParticipantsProps { setOpenBottomSheet: React.Dispatch>; } -const GetOutMember = ({isOpened, setOpenBottomSheet}: {isOpened: boolean; setOpenBottomSheet: any}) => { +const GetOutMember = ({openBottomSheet, setOpenBottomSheet}: SetInitialParticipantsProps) => { const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); return ( - setOpenBottomSheet(false)}> + setOpenBottomSheet(false)}> 망쵸모달 나감 모달 alert('아아아앙')}>안녕 diff --git a/client/src/components/StepList/Step.tsx b/client/src/components/StepList/Step.tsx new file mode 100644 index 000000000..a010f41ad --- /dev/null +++ b/client/src/components/StepList/Step.tsx @@ -0,0 +1,48 @@ +import {InOutItem, StepItem} from 'haengdong-design'; +import {useState} from 'react'; + +import {BillStep, MemberStep} from '@hooks/useStepList/type'; +import ComeInMember from '@components/Modal/MangchoModal/ComeInMember'; +import GetOutMember from '@components/Modal/MangchoModal/GetOutMember'; + +interface StepProps { + step: BillStep | MemberStep; +} + +const Step = ({step}: StepProps) => { + const [isModalOn, setIsModalOn] = useState(false); + + if (step.type === 'BILL') { + return ( + + ); + } else if (step.type === 'IN' || step.type === 'OUT') { + return ( + <> + name)} + onClick={() => setIsModalOn(prev => !prev)} + /> + {isModalOn && step.type === 'IN' && ( + setIsModalOn(prev => !prev)} + /> + )} + {isModalOn && step.type === 'OUT' && ( + setIsModalOn(prev => !prev)} /> + )} + + ); + } else { + return <>; + } +}; + +export default Step; diff --git a/client/src/components/StepList/StepList.tsx b/client/src/components/StepList/StepList.tsx index dc4a48059..d22cf1adb 100644 --- a/client/src/components/StepList/StepList.tsx +++ b/client/src/components/StepList/StepList.tsx @@ -1,37 +1,19 @@ -import {Flex, StepItem, InOutItem} from 'haengdong-design'; -import {useStepList} from '@hooks/useStepList/useStepList'; +import {Flex} from 'haengdong-design'; import {useState} from 'react'; -import ComeInMember from '@components/Modal/MangchoModal/ComeInMember'; + +import {useStepList} from '@hooks/useStepList/useStepList'; + +import Step from './Step'; const StepList = () => { const {stepList} = useStepList(); - const [isModalOn, setIsModalOn] = useState(false); // TODO: (@weadie) if else 구문이 지저분하므로 리펙터링이 필요합니다. return ( - {stepList.map(step => { - if (step.type === 'BILL') { - return ( - - ); - } else if (step.type === 'IN' || step.type === 'OUT') { - return ( - name)} - onClick={() => setIsModalOn(prev => !prev)} - /> - ); - } else { - return <>; - } - })} - {isModalOn && setIsModalOn(prev => !prev)} />} + {stepList.map((step, index) => ( + + ))} ); }; diff --git a/client/src/hooks/useStepList/type.ts b/client/src/hooks/useStepList/type.ts index 6d9b78de1..ab0f9a48a 100644 --- a/client/src/hooks/useStepList/type.ts +++ b/client/src/hooks/useStepList/type.ts @@ -21,7 +21,7 @@ export type Action = { actionId: number; name: string; price: number | null; - sequence?: number; + sequence: number; }; export type BillAction = Omit & { diff --git a/client/src/hooks/useStepList/useStepList.tsx b/client/src/hooks/useStepList/useStepList.tsx index 52d2a78d6..8a2985a7a 100644 --- a/client/src/hooks/useStepList/useStepList.tsx +++ b/client/src/hooks/useStepList/useStepList.tsx @@ -13,6 +13,7 @@ interface StepListContextProps { addBill: (billList: Bill[]) => Promise; updateMemberList: ({type, memberNameList}: {type: MemberType; memberNameList: string[]}) => Promise; memberNameList: string[]; + refreshStepList: () => Promise; } export const StepListContext = createContext(null); // TODO: (@weadie) 인자를 어떻게 줘야 하는지 고민하기. @@ -83,6 +84,7 @@ const StepListProvider = ({children}: PropsWithChildren) => { updateMemberList, stepList, memberNameList, + refreshStepList, }} > {children} diff --git a/client/src/type.d.ts b/client/src/type.d.ts index a81318e4c..f2878f1d2 100644 --- a/client/src/type.d.ts +++ b/client/src/type.d.ts @@ -16,3 +16,42 @@ type Bill = { type StepList = { steps: (MemberStep | BillStep)[]; }; + +type Step = { + type: MemberType | 'BILL'; + stepName: string | null; + members: string[]; + actions: (BillAction | MemberAction)[]; +}; + +type MemberStep = Omit & { + type: MemberType; + stepName: null; + actions: MemberAction[]; +}; + +type BillStep = Omit & { + type: 'BILL'; + stepName: string; + actions: BillAction[]; +}; + +type Action = { + actionId: number; + name: string; + price: number | null; + sequence: number; +}; + +type BillAction = Omit & { + price: number; +}; + +type MemberAction = Omit & { + price: null; +}; + +type Member = { + name: string; + status: MemberType; +}; From 4b29905ca5cd87b742a4dcc7bc56c8a0c7849e98 Mon Sep 17 00:00:00 2001 From: pakxe Date: Thu, 1 Aug 2024 21:44:54 +0900 Subject: [PATCH 03/20] =?UTF-8?q?feat:=20StepList=EC=97=90=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EB=90=98=EB=8A=94=20=ED=83=80=EC=9E=85=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/types/stepList.ts | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 client/src/types/stepList.ts diff --git a/client/src/types/stepList.ts b/client/src/types/stepList.ts new file mode 100644 index 000000000..9b6fbe06f --- /dev/null +++ b/client/src/types/stepList.ts @@ -0,0 +1,54 @@ +export type MemberType = 'IN' | 'OUT'; + +export type InOutType = '늦참' | '탈주'; + +export type MemberReport = { + name: string; + price: number; +}; + +export type Bill = { + title: string; + price: number; +}; + +type StepBase = { + members: string[]; +}; + +export type MemberStep = StepBase & { + type: MemberType; + stepName: null; + actions: MemberAction[]; +}; + +export type BillStep = StepBase & { + type: 'BILL'; + stepName: string; + actions: BillAction[]; +}; + +// TODO: (@weadie) 준 데이터 형식에서 steps를 빼내 flat하게 사용중. 일관성있게 하는게 좋긴 하나 사용시 번거로움이 있을 거라고 판단. +export type StepList = { + steps: (MemberStep | BillStep)[]; +}; + +export type Action = { + actionId: number; + name: string; + price: number | null; + sequence: number; +}; + +export type BillAction = Omit & { + price: number; +}; + +export type MemberAction = Omit & { + price: null; +}; + +export type Member = { + name: string; + status: MemberType; +}; From d713c24f796f5ccc4d9aa5281d8446a12ad18e72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Fri, 2 Aug 2024 15:53:53 +0900 Subject: [PATCH 04/20] =?UTF-8?q?refactor:=20=EC=A0=84=EC=97=AD=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EC=84=A0=EC=96=B8=EC=9D=84=20types=20?= =?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=EC=97=90=EC=84=9C=20import?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=ED=98=95=EC=8B=9D=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/hooks/useStepList/type.ts | 38 ------------- client/src/type.d.ts | 57 ------------------- .../src/types/{stepList.ts => serviceType.ts} | 0 3 files changed, 95 deletions(-) delete mode 100644 client/src/hooks/useStepList/type.ts delete mode 100644 client/src/type.d.ts rename client/src/types/{stepList.ts => serviceType.ts} (100%) diff --git a/client/src/hooks/useStepList/type.ts b/client/src/hooks/useStepList/type.ts deleted file mode 100644 index ab0f9a48a..000000000 --- a/client/src/hooks/useStepList/type.ts +++ /dev/null @@ -1,38 +0,0 @@ -export type Step = { - type: MemberType | 'BILL'; - stepName: string | null; - members: string[]; - actions: (BillAction | MemberAction)[]; -}; - -export type MemberStep = Omit & { - type: MemberType; - stepName: null; - actions: MemberAction[]; -}; - -export type BillStep = Omit & { - type: 'BILL'; - stepName: string; - actions: BillAction[]; -}; - -export type Action = { - actionId: number; - name: string; - price: number | null; - sequence: number; -}; - -export type BillAction = Omit & { - price: number; -}; - -export type MemberAction = Omit & { - price: null; -}; - -export type Member = { - name: string; - status: MemberType; -}; diff --git a/client/src/type.d.ts b/client/src/type.d.ts deleted file mode 100644 index f2878f1d2..000000000 --- a/client/src/type.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -type MemberType = 'IN' | 'OUT'; - -type InOutType = '늦참' | '탈주'; - -type MemberReport = { - name: string; - price: number; -}; - -type Bill = { - title: string; - price: number; -}; - -// TODO: (@weadie) 준 데이터 형식에서 steps를 빼내 flat하게 사용중. 일관성있게 하는게 좋긴 하나 사용시 번거로움이 있을 거라고 판단. -type StepList = { - steps: (MemberStep | BillStep)[]; -}; - -type Step = { - type: MemberType | 'BILL'; - stepName: string | null; - members: string[]; - actions: (BillAction | MemberAction)[]; -}; - -type MemberStep = Omit & { - type: MemberType; - stepName: null; - actions: MemberAction[]; -}; - -type BillStep = Omit & { - type: 'BILL'; - stepName: string; - actions: BillAction[]; -}; - -type Action = { - actionId: number; - name: string; - price: number | null; - sequence: number; -}; - -type BillAction = Omit & { - price: number; -}; - -type MemberAction = Omit & { - price: null; -}; - -type Member = { - name: string; - status: MemberType; -}; diff --git a/client/src/types/stepList.ts b/client/src/types/serviceType.ts similarity index 100% rename from client/src/types/stepList.ts rename to client/src/types/serviceType.ts From acca587ca1858322ab50704e705965dca37c791c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Fri, 2 Aug 2024 15:55:01 +0900 Subject: [PATCH 05/20] =?UTF-8?q?refactor:=20type=20=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=EC=9C=BC=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20imp?= =?UTF-8?q?ort=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modal/{MangchoModal => InOut}/ComeInMember.style.ts | 0 .../Modal/{MangchoModal => InOut}/ComeInMember.tsx | 7 +++---- .../Modal/{MangchoModal => InOut}/GetOutMember.style.ts | 0 .../Modal/{MangchoModal => InOut}/GetOutMember.tsx | 0 .../Modal/SetActionModalContent/SetActionModalContent.tsx | 2 ++ client/src/components/StepList/Step.tsx | 7 ++++--- client/src/hooks/useStepList/useStepList.tsx | 4 ++-- 7 files changed, 11 insertions(+), 9 deletions(-) rename client/src/components/Modal/{MangchoModal => InOut}/ComeInMember.style.ts (100%) rename client/src/components/Modal/{MangchoModal => InOut}/ComeInMember.tsx (90%) rename client/src/components/Modal/{MangchoModal => InOut}/GetOutMember.style.ts (100%) rename client/src/components/Modal/{MangchoModal => InOut}/GetOutMember.tsx (100%) diff --git a/client/src/components/Modal/MangchoModal/ComeInMember.style.ts b/client/src/components/Modal/InOut/ComeInMember.style.ts similarity index 100% rename from client/src/components/Modal/MangchoModal/ComeInMember.style.ts rename to client/src/components/Modal/InOut/ComeInMember.style.ts diff --git a/client/src/components/Modal/MangchoModal/ComeInMember.tsx b/client/src/components/Modal/InOut/ComeInMember.tsx similarity index 90% rename from client/src/components/Modal/MangchoModal/ComeInMember.tsx rename to client/src/components/Modal/InOut/ComeInMember.tsx index 3759b7f33..4eb6c6ad3 100644 --- a/client/src/components/Modal/MangchoModal/ComeInMember.tsx +++ b/client/src/components/Modal/InOut/ComeInMember.tsx @@ -1,12 +1,11 @@ -import {Text, Input, BottomSheet, FixedButton, Button, Flex} from 'haengdong-design'; +import type {MemberAction} from 'types/serviceType'; + +import {Text, Input, BottomSheet, Button, Flex} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; -import {MemberAction} from '@hooks/useStepList/type'; import {requestDeleteAction} from '@apis/request/action'; import useEventId from '@hooks/useEventId/useEventId'; -import useDynamicInput from '@hooks/useDynamicAdditionalInput'; - import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from './ComeInMember.style'; interface SetInitialParticipantsProps { diff --git a/client/src/components/Modal/MangchoModal/GetOutMember.style.ts b/client/src/components/Modal/InOut/GetOutMember.style.ts similarity index 100% rename from client/src/components/Modal/MangchoModal/GetOutMember.style.ts rename to client/src/components/Modal/InOut/GetOutMember.style.ts diff --git a/client/src/components/Modal/MangchoModal/GetOutMember.tsx b/client/src/components/Modal/InOut/GetOutMember.tsx similarity index 100% rename from client/src/components/Modal/MangchoModal/GetOutMember.tsx rename to client/src/components/Modal/InOut/GetOutMember.tsx diff --git a/client/src/components/Modal/SetActionModalContent/SetActionModalContent.tsx b/client/src/components/Modal/SetActionModalContent/SetActionModalContent.tsx index b3ccd64c9..9963e69bc 100644 --- a/client/src/components/Modal/SetActionModalContent/SetActionModalContent.tsx +++ b/client/src/components/Modal/SetActionModalContent/SetActionModalContent.tsx @@ -1,3 +1,5 @@ +import type {InOutType} from 'types/serviceType'; + import {useState} from 'react'; import {BottomSheet, Switch} from 'haengdong-design'; diff --git a/client/src/components/StepList/Step.tsx b/client/src/components/StepList/Step.tsx index a010f41ad..5185714a7 100644 --- a/client/src/components/StepList/Step.tsx +++ b/client/src/components/StepList/Step.tsx @@ -1,9 +1,10 @@ +import type {BillStep, MemberStep} from 'types/serviceType'; + import {InOutItem, StepItem} from 'haengdong-design'; import {useState} from 'react'; -import {BillStep, MemberStep} from '@hooks/useStepList/type'; -import ComeInMember from '@components/Modal/MangchoModal/ComeInMember'; -import GetOutMember from '@components/Modal/MangchoModal/GetOutMember'; +import ComeInMember from '@components/Modal/InOut/ComeInMember'; +import GetOutMember from '@components/Modal/InOut/GetOutMember'; interface StepProps { step: BillStep | MemberStep; diff --git a/client/src/hooks/useStepList/useStepList.tsx b/client/src/hooks/useStepList/useStepList.tsx index 8a2985a7a..5b4301176 100644 --- a/client/src/hooks/useStepList/useStepList.tsx +++ b/client/src/hooks/useStepList/useStepList.tsx @@ -1,3 +1,5 @@ +import type {MemberType, Bill, BillAction, BillStep, MemberStep} from 'types/serviceType.ts'; + import {PropsWithChildren, createContext, useContext, useEffect, useState} from 'react'; import useEventId from '@hooks/useEventId/useEventId'; @@ -5,8 +7,6 @@ import {requestAddBillList} from '@apis/request/bill'; import {requestUpdateMemberList} from '@apis/request/member'; import {requestStepList} from '@apis/request/stepList'; -import {BillAction, BillStep, MemberStep} from './type.ts'; - interface StepListContextProps { stepList: (BillStep | MemberStep)[]; getTotalPrice: () => number; From 1999f48e6b41087eb9ee95736164e98c95c2edb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Fri, 2 Aug 2024 16:05:53 +0900 Subject: [PATCH 06/20] =?UTF-8?q?refactor:=20Step=20=EB=82=B4=EB=B6=80?= =?UTF-8?q?=EB=A5=BC=20Bill=EA=B3=BC=20Member=EB=A1=9C=20=EB=82=98?= =?UTF-8?q?=EB=88=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/StepList/BillStepItem.tsx | 21 ++++++++++ .../components/StepList/MemberStepItem.tsx | 39 +++++++++++++++++++ client/src/components/StepList/Step.tsx | 35 +++-------------- 3 files changed, 65 insertions(+), 30 deletions(-) create mode 100644 client/src/components/StepList/BillStepItem.tsx create mode 100644 client/src/components/StepList/MemberStepItem.tsx diff --git a/client/src/components/StepList/BillStepItem.tsx b/client/src/components/StepList/BillStepItem.tsx new file mode 100644 index 000000000..08a01f753 --- /dev/null +++ b/client/src/components/StepList/BillStepItem.tsx @@ -0,0 +1,21 @@ +import type {BillStep} from 'types/serviceType'; + +import {StepItem} from 'haengdong-design'; + +interface BillStepItemProps { + step: BillStep; + isOpenBottomSheet: boolean; + setOpenBottomSheet: React.Dispatch>; +} + +const BillStepItem: React.FC = ({step, isOpenBottomSheet, setOpenBottomSheet}) => { + return ( + + ); +}; + +export default BillStepItem; diff --git a/client/src/components/StepList/MemberStepItem.tsx b/client/src/components/StepList/MemberStepItem.tsx new file mode 100644 index 000000000..f7ea5ff2b --- /dev/null +++ b/client/src/components/StepList/MemberStepItem.tsx @@ -0,0 +1,39 @@ +import type {MemberStep} from 'types/serviceType'; + +import {InOutItem} from 'haengdong-design'; + +import ComeInMember from '@components/Modal/InOut/ComeInMember'; +import GetOutMember from '@components/Modal/InOut/GetOutMember'; + +interface MemberStepItemProps { + step: MemberStep; + isOpenBottomSheet: boolean; + setOpenBottomSheet: React.Dispatch>; +} + +const MemberStepItem: React.FC = ({step, isOpenBottomSheet, setOpenBottomSheet}) => { + return ( + <> + name)} + onClick={() => setOpenBottomSheet(prev => !prev)} + /> + {isOpenBottomSheet && step.type === 'IN' && ( + setOpenBottomSheet(prev => !prev)} + /> + )} + {isOpenBottomSheet && step.type === 'OUT' && ( + setOpenBottomSheet(prev => !prev)} + /> + )} + + ); +}; + +export default MemberStepItem; diff --git a/client/src/components/StepList/Step.tsx b/client/src/components/StepList/Step.tsx index 5185714a7..859085800 100644 --- a/client/src/components/StepList/Step.tsx +++ b/client/src/components/StepList/Step.tsx @@ -1,46 +1,21 @@ import type {BillStep, MemberStep} from 'types/serviceType'; -import {InOutItem, StepItem} from 'haengdong-design'; import {useState} from 'react'; -import ComeInMember from '@components/Modal/InOut/ComeInMember'; -import GetOutMember from '@components/Modal/InOut/GetOutMember'; +import BillStepItem from './BillStepItem'; +import MemberStepItem from './MemberStepItem'; interface StepProps { step: BillStep | MemberStep; } const Step = ({step}: StepProps) => { - const [isModalOn, setIsModalOn] = useState(false); + const [isOpenBottomSheet, setOpenBottomSheet] = useState(false); if (step.type === 'BILL') { - return ( - - ); + return ; } else if (step.type === 'IN' || step.type === 'OUT') { - return ( - <> - name)} - onClick={() => setIsModalOn(prev => !prev)} - /> - {isModalOn && step.type === 'IN' && ( - setIsModalOn(prev => !prev)} - /> - )} - {isModalOn && step.type === 'OUT' && ( - setIsModalOn(prev => !prev)} /> - )} - - ); + return ; } else { return <>; } From adec4a00d0b45e9dbe993c84470e7dd1ac135e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Fri, 2 Aug 2024 16:21:13 +0900 Subject: [PATCH 07/20] =?UTF-8?q?fix:=20=ED=83=80=EC=9E=85=20import=20type?= =?UTF-8?q?s=20=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=EB=A1=9C=20=EC=98=AE?= =?UTF-8?q?=EA=B8=B0=EB=A9=B4=EC=84=9C=20import=20=EB=88=84=EB=9D=BD=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/apis/request/bill.ts | 2 ++ client/src/apis/request/member.ts | 2 ++ client/src/apis/request/report.ts | 2 ++ client/src/apis/request/stepList.ts | 2 ++ .../Modal/SetActionModalContent/UpdateParticipants.tsx | 2 ++ client/src/hooks/useDynamicInputPairs.tsx | 2 ++ .../useSearchMemberReportList/useSearchMemberReportList.tsx | 2 ++ client/src/pages/Event/Admin/Admin.tsx | 2 ++ 8 files changed, 16 insertions(+) diff --git a/client/src/apis/request/bill.ts b/client/src/apis/request/bill.ts index c07fd758a..b7d097698 100644 --- a/client/src/apis/request/bill.ts +++ b/client/src/apis/request/bill.ts @@ -1,3 +1,5 @@ +import type {Bill} from 'types/serviceType'; + import {BASE_URL} from '@apis/baseUrl'; import {TEMP_PREFIX} from '@apis/tempPrefix'; import {requestPost} from '@apis/fetcher'; diff --git a/client/src/apis/request/member.ts b/client/src/apis/request/member.ts index d23563f34..6ec83ea74 100644 --- a/client/src/apis/request/member.ts +++ b/client/src/apis/request/member.ts @@ -1,3 +1,5 @@ +import type {MemberType} from 'types/serviceType'; + import {BASE_URL} from '@apis/baseUrl'; import {TEMP_PREFIX} from '@apis/tempPrefix'; import {requestPost} from '@apis/fetcher'; diff --git a/client/src/apis/request/report.ts b/client/src/apis/request/report.ts index faa6c9185..2e674b2c2 100644 --- a/client/src/apis/request/report.ts +++ b/client/src/apis/request/report.ts @@ -1,3 +1,5 @@ +import type {MemberReport} from 'types/serviceType'; + import {BASE_URL} from '@apis/baseUrl'; import {TEMP_PREFIX} from '@apis/tempPrefix'; import {requestGet} from '@apis/fetcher'; diff --git a/client/src/apis/request/stepList.ts b/client/src/apis/request/stepList.ts index e09cb67fd..ca40f1577 100644 --- a/client/src/apis/request/stepList.ts +++ b/client/src/apis/request/stepList.ts @@ -1,3 +1,5 @@ +import type {StepList} from 'types/serviceType'; + import {BASE_URL} from '@apis/baseUrl'; import {TEMP_PREFIX} from '@apis/tempPrefix'; import {requestGet} from '@apis/fetcher'; diff --git a/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx b/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx index 5adc3cd43..e03cff0ea 100644 --- a/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx +++ b/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx @@ -1,3 +1,5 @@ +import type {MemberType} from 'types/serviceType'; + import {Input, FixedButton} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; diff --git a/client/src/hooks/useDynamicInputPairs.tsx b/client/src/hooks/useDynamicInputPairs.tsx index b6f86b000..52d31d2c8 100644 --- a/client/src/hooks/useDynamicInputPairs.tsx +++ b/client/src/hooks/useDynamicInputPairs.tsx @@ -1,3 +1,5 @@ +import type {Bill} from 'types/serviceType'; + import {useEffect, useRef, useState} from 'react'; const useDynamicInputPairs = () => { diff --git a/client/src/hooks/useSearchMemberReportList/useSearchMemberReportList.tsx b/client/src/hooks/useSearchMemberReportList/useSearchMemberReportList.tsx index 02c07b80a..9e12de6da 100644 --- a/client/src/hooks/useSearchMemberReportList/useSearchMemberReportList.tsx +++ b/client/src/hooks/useSearchMemberReportList/useSearchMemberReportList.tsx @@ -1,3 +1,5 @@ +import type {MemberReport} from 'types/serviceType'; + import {useEffect, useState} from 'react'; import {requestMemberReportList} from '@apis/request/report'; diff --git a/client/src/pages/Event/Admin/Admin.tsx b/client/src/pages/Event/Admin/Admin.tsx index bda03da55..1d12da105 100644 --- a/client/src/pages/Event/Admin/Admin.tsx +++ b/client/src/pages/Event/Admin/Admin.tsx @@ -1,3 +1,5 @@ +import type {InOutType} from 'types/serviceType'; + import {useEffect, useState} from 'react'; import {Title, FixedButton} from 'haengdong-design'; From ba1c9aa74a2d583e5e2ba14999d3aced2670abe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Fri, 2 Aug 2024 16:28:27 +0900 Subject: [PATCH 08/20] =?UTF-8?q?refactor:=20member=20action=20=ED=9B=85?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Modal/InOut/ComeInMember.tsx | 20 ++---------- .../src/hooks/useStepList/useMemberAction.tsx | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 client/src/hooks/useStepList/useMemberAction.tsx diff --git a/client/src/components/Modal/InOut/ComeInMember.tsx b/client/src/components/Modal/InOut/ComeInMember.tsx index 4eb6c6ad3..3235a413f 100644 --- a/client/src/components/Modal/InOut/ComeInMember.tsx +++ b/client/src/components/Modal/InOut/ComeInMember.tsx @@ -3,8 +3,7 @@ import type {MemberAction} from 'types/serviceType'; import {Text, Input, BottomSheet, Button, Flex} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; -import {requestDeleteAction} from '@apis/request/action'; -import useEventId from '@hooks/useEventId/useEventId'; +import useMemberAction from '@hooks/useStepList/useMemberAction'; import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from './ComeInMember.style'; @@ -16,22 +15,7 @@ interface SetInitialParticipantsProps { const ComeInMember = ({openBottomSheet, setOpenBottomSheet, actions}: SetInitialParticipantsProps) => { const {refreshStepList, stepList} = useStepList(); - const {eventId} = useEventId(); - const memberActions = stepList.filter(step => step.type !== 'BILL').flatMap(step => step.actions); - - const hasNextMemberAction = (name: string, sequence: number) => { - return memberActions.find(action => action.name === name && action.sequence > sequence) !== undefined; - }; - - const deleteMember = async (action: MemberAction) => { - if (hasNextMemberAction(action.name, action.sequence)) { - if (!window.confirm('다음 인원 액션이 존재합니다. 같이 지우시겠습니까?')) { - return; - } - } - await requestDeleteAction({eventId, actionId: action.actionId}); - refreshStepList(); - }; + const {deleteMember} = useMemberAction({stepList, refreshStepList}); return ( setOpenBottomSheet(false)}> diff --git a/client/src/hooks/useStepList/useMemberAction.tsx b/client/src/hooks/useStepList/useMemberAction.tsx new file mode 100644 index 000000000..e02a29c49 --- /dev/null +++ b/client/src/hooks/useStepList/useMemberAction.tsx @@ -0,0 +1,32 @@ +import type {BillStep, MemberAction, MemberStep} from 'types/serviceType'; + +import useEventId from '@hooks/useEventId/useEventId'; +import {requestDeleteAction} from '@apis/request/action'; + +interface UseMemberActionProps { + stepList: Array; + refreshStepList: () => Promise; +} + +const useMemberAction = ({stepList, refreshStepList}: UseMemberActionProps) => { + const {eventId} = useEventId(); + const memberActions = stepList.filter(step => step.type !== 'BILL').flatMap(step => step.actions); + + const hasNextMemberAction = (name: string, sequence: number) => { + return memberActions.find(action => action.name === name && action.sequence > sequence) !== undefined; + }; + + const deleteMember = async (action: MemberAction) => { + if (hasNextMemberAction(action.name, action.sequence)) { + if (!window.confirm('다음 인원 액션이 존재합니다. 같이 지우시겠습니까?')) { + return; + } + } + await requestDeleteAction({eventId, actionId: action.actionId}); + refreshStepList(); + }; + + return {deleteMember}; +}; + +export default useMemberAction; From bae729f218d61c6e519724eab793c0c7ba477fbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:29:57 +0900 Subject: [PATCH 09/20] =?UTF-8?q?refactor:=20evenPageLayout=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=EC=9D=B4=EB=A6=84=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/EventPage/{EvenPageLayout.tsx => EventPageLayout.tsx} | 0 client/src/pages/EventPage/index.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename client/src/pages/EventPage/{EvenPageLayout.tsx => EventPageLayout.tsx} (100%) diff --git a/client/src/pages/EventPage/EvenPageLayout.tsx b/client/src/pages/EventPage/EventPageLayout.tsx similarity index 100% rename from client/src/pages/EventPage/EvenPageLayout.tsx rename to client/src/pages/EventPage/EventPageLayout.tsx diff --git a/client/src/pages/EventPage/index.ts b/client/src/pages/EventPage/index.ts index c560632da..5b5c314c7 100644 --- a/client/src/pages/EventPage/index.ts +++ b/client/src/pages/EventPage/index.ts @@ -1 +1 @@ -export {default as EventPage} from './EvenPageLayout'; +export {default as EventPage} from './EventPageLayout'; From 551c6ef53d0b20d6379775e9269ec266db665715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:30:42 +0900 Subject: [PATCH 10/20] =?UTF-8?q?refactor:=20=EB=A8=B8=EC=A7=80=20?= =?UTF-8?q?=EC=A4=91=20=EB=B0=9C=EC=83=9D=ED=95=9C=20=EC=9E=94=EC=9E=AC=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UpdateParticipants.tsx | 51 ------------------- client/src/components/Modal/index.ts | 2 - .../pages/EventPage/AdminPage/AdminPage.tsx | 4 +- client/src/utils/validate/validatePurchase.ts | 2 + 4 files changed, 4 insertions(+), 55 deletions(-) delete mode 100644 client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx delete mode 100644 client/src/components/Modal/index.ts diff --git a/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx b/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx deleted file mode 100644 index e03cff0ea..000000000 --- a/client/src/components/Modal/SetActionModalContent/UpdateParticipants.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import type {MemberType} from 'types/serviceType'; - -import {Input, FixedButton} from 'haengdong-design'; - -import {useStepList} from '@hooks/useStepList/useStepList'; - -import useDynamicInput from '@hooks/useDynamicAdditionalInput'; - -import {updateParticipantsInputStyle, updateParticipantsStyle} from './UpdateParticipants.style'; - -interface UpdateParticipantsProps { - inOutAction: MemberType; - setOpenBottomSheet: React.Dispatch>; -} - -const UpdateParticipants = ({inOutAction, setOpenBottomSheet}: UpdateParticipantsProps) => { - const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); - const {updateMemberList} = useStepList(); - - const handleUpdateParticipantsSubmit = () => { - updateMemberList({memberNameList: getNonEmptyInputs(), type: inOutAction}); - setOpenBottomSheet(false); - }; - - return ( -
-
- {/* TODO: (@soha) Search로 변경하기 */} - {inputs.map((name, index) => ( - (inputRefs.current[index] = el)} - onChange={e => handleInputChange(index, e.target.value)} - onBlur={() => handleInputBlur(index)} - /> - ))} -
- -
- ); -}; - -export default UpdateParticipants; diff --git a/client/src/components/Modal/index.ts b/client/src/components/Modal/index.ts deleted file mode 100644 index 36ccd8b2e..000000000 --- a/client/src/components/Modal/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export {default as SetInitialMemberListModal} from './SetInitialMemberListModal/SetInitialMemberListModal'; -export {default as SetActionListModal} from './SetActionModal/SetActionListModal'; diff --git a/client/src/pages/EventPage/AdminPage/AdminPage.tsx b/client/src/pages/EventPage/AdminPage/AdminPage.tsx index 292a7a726..5f5161327 100644 --- a/client/src/pages/EventPage/AdminPage/AdminPage.tsx +++ b/client/src/pages/EventPage/AdminPage/AdminPage.tsx @@ -7,8 +7,8 @@ import StepList from '@components/StepList/StepList'; import {useStepList} from '@hooks/useStepList/useStepList'; import {requestGetEventName} from '@apis/request/event'; import useEventId from '@hooks/useEventId/useEventId'; - -import {SetActionListModal, SetInitialMemberListModal} from '@components/Modal'; +import {SetActionListModal} from '@components/Modal/SetActionModal'; +import {SetInitialMemberListModal} from '@components/Modal/SetInitialMemberListModal'; import {ReceiptStyle} from './AdminPage.style'; diff --git a/client/src/utils/validate/validatePurchase.ts b/client/src/utils/validate/validatePurchase.ts index 026cfb496..b20742901 100644 --- a/client/src/utils/validate/validatePurchase.ts +++ b/client/src/utils/validate/validatePurchase.ts @@ -1,3 +1,5 @@ +import type {Bill} from 'types/serviceType'; + import ERROR_MESSAGE from '@constants/errorMessage'; import RULE from '@constants/rule'; import REGEXP from '@constants/regExp'; From 8ab8e9b1b94c7b6ff58ca20899f95b6d1a162384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:34:24 +0900 Subject: [PATCH 11/20] =?UTF-8?q?chore:=20dev=20dependency=EB=A1=9C=20?= =?UTF-8?q?=EC=98=AE=EA=B2=A8=EC=95=BC=20=ED=95=A0=20=EA=B2=83=20=EC=98=AE?= =?UTF-8?q?=EA=B9=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/package-lock.json | 314 +++++++++++++++++++-------------------- client/package.json | 6 +- 2 files changed, 152 insertions(+), 168 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 9e3a702e2..d4f2283f6 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -10,8 +10,6 @@ "license": "ISC", "dependencies": { "@emotion/react": "^11.11.4", - "@types/dotenv-webpack": "^7.0.7", - "dotenv-webpack": "^8.1.0", "haengdong-design": "^0.1.53", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -21,11 +19,13 @@ "@eslint/compat": "^1.1.0", "@eslint/js": "^9.6.0", "@svgr/webpack": "^8.1.0", + "@types/dotenv-webpack": "^7.0.7", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "dotenv": "^16.4.5", + "dotenv-webpack": "^8.1.0", "eslint": "^9.6.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", @@ -2152,6 +2152,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -2552,15 +2553,9 @@ } }, "node_modules/@swc/core": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.4.tgz", - "integrity": "sha512-+wSycNxOw9QQz81AJAZlNS34EtOIifwUXMPACg05PWjECsjOKDTXLCVPx6J0lRaxhHSGBU2OYs9mRfIvxGt3CA==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.5.tgz", - "integrity": "sha512-qKK0/Ta4qvxs/ok3XyYVPT7OBenwRn1sSINf1cKQTBHPqr7U/uB4k2GTl6JgEs8H4PiJrMTNWfMLTucIoVSfAg==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.6.tgz", + "integrity": "sha512-FZxyao9eQks1MRmUshgsZTmlg/HB2oXK5fghkoWJm/1CU2q2kaJlVDll2as5j+rmWiwkp0Gidlq8wlXcEEAO+g==", "hasInstallScript": true, "dependencies": { "@swc/counter": "^0.1.3", @@ -2574,29 +2569,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { -<<<<<<< HEAD - "@swc/core-darwin-arm64": "1.7.4", - "@swc/core-darwin-x64": "1.7.4", - "@swc/core-linux-arm-gnueabihf": "1.7.4", - "@swc/core-linux-arm64-gnu": "1.7.4", - "@swc/core-linux-arm64-musl": "1.7.4", - "@swc/core-linux-x64-gnu": "1.7.4", - "@swc/core-linux-x64-musl": "1.7.4", - "@swc/core-win32-arm64-msvc": "1.7.4", - "@swc/core-win32-ia32-msvc": "1.7.4", - "@swc/core-win32-x64-msvc": "1.7.4" -======= - "@swc/core-darwin-arm64": "1.7.5", - "@swc/core-darwin-x64": "1.7.5", - "@swc/core-linux-arm-gnueabihf": "1.7.5", - "@swc/core-linux-arm64-gnu": "1.7.5", - "@swc/core-linux-arm64-musl": "1.7.5", - "@swc/core-linux-x64-gnu": "1.7.5", - "@swc/core-linux-x64-musl": "1.7.5", - "@swc/core-win32-arm64-msvc": "1.7.5", - "@swc/core-win32-ia32-msvc": "1.7.5", - "@swc/core-win32-x64-msvc": "1.7.5" ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "@swc/core-darwin-arm64": "1.7.6", + "@swc/core-darwin-x64": "1.7.6", + "@swc/core-linux-arm-gnueabihf": "1.7.6", + "@swc/core-linux-arm64-gnu": "1.7.6", + "@swc/core-linux-arm64-musl": "1.7.6", + "@swc/core-linux-x64-gnu": "1.7.6", + "@swc/core-linux-x64-musl": "1.7.6", + "@swc/core-win32-arm64-msvc": "1.7.6", + "@swc/core-win32-ia32-msvc": "1.7.6", + "@swc/core-win32-x64-msvc": "1.7.6" }, "peerDependencies": { "@swc/helpers": "*" @@ -2608,15 +2590,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.4.tgz", - "integrity": "sha512-RbWrdGh+x9xKFUA9/kPZRR8OPxUsDUuPyLjPIGLYZMO+ftht2vhVH7QsUq6lg+jAP34eIya72UA1isiZe+BRaA==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.5.tgz", - "integrity": "sha512-Y+bvW9C4/u26DskMbtQKT4FU6QQenaDYkKDi028vDIKAa7v1NZqYG9wmhD/Ih7n5EUy2uJ5I5EWD7WaoLzT6PA==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.6.tgz", + "integrity": "sha512-6lYHey84ZzsdtC7UuPheM4Rm0Inzxm6Sb8U6dmKc4eCx8JL0LfWG4LC5RsdsrTxnjTsbriWlnhZBffh8ijUHIQ==", "cpu": [ "arm64" ], @@ -2629,15 +2605,9 @@ } }, "node_modules/@swc/core-darwin-x64": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.4.tgz", - "integrity": "sha512-TxCWMJs4OrqApjFuT8cUiqMz0zg97F0JsXBEeZ7zjkyv9XJ/rN2pdwqMlZv0Wv2C2rivOPo6FsWYlZ3V8ZHhyA==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.5.tgz", - "integrity": "sha512-AuIbDlcaAhYS6mtF4UqvXgrLeAfXZbVf4pgtgShPbutF80VbCQiIB55zOFz5aZdCpsBVuCWcBq0zLneK+VQKkQ==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.6.tgz", + "integrity": "sha512-Fyl+8aH9O5rpx4O7r2KnsPpoi32iWoKOYKiipeTbGjQ/E95tNPxbmsz4yqE8Ovldcga60IPJ5OKQA3HWRiuzdw==", "cpu": [ "x64" ], @@ -2650,15 +2620,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.4.tgz", - "integrity": "sha512-5IhwIJZAgkkfI6PqgQ3xk0/2hTAVsAczIPLiR2Epp30EgsNo1KIFL0ZHzrnvJPy5BZ3jy3T1dEbDE/memBOEmA==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.5.tgz", - "integrity": "sha512-99uBPHITRqgGwCXAjHY94VaV3Z40+D2NQNgR1t6xQpO8ZnevI6YSzX6GVZfBnV7+7oisiGkrVEwfIRRa+1s8FA==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.6.tgz", + "integrity": "sha512-2WxYTqFaOx48GKC2cbO1/IntA+w+kfCFy436Ij7qRqqtV/WAvTM9TC1OmiFbqq436rSot52qYmX8fkwdB5UcLQ==", "cpu": [ "arm" ], @@ -2671,15 +2635,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.4.tgz", - "integrity": "sha512-0787jri83jigf26mF8FndWehh7jqMaHwAm/OV6VdToyNo/g+d1AxVpkEizrywZK46el+AObnHUIHIHwZgO21LA==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.5.tgz", - "integrity": "sha512-xHL3Erlz+OGGCG4h6K2HWiR56H5UYMuBWWPbbUufi2bJpfhuKQy/X3vWffwL8ZVfJmCUwr4/G91GHcm32uYzRg==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.6.tgz", + "integrity": "sha512-TBEGMSe0LhvPe4S7E68c7VzgT3OMu4VTmBLS7B2aHv4v8uZO92Khpp7L0WqgYU1y5eMjk+XLDLi4kokiNHv/Hg==", "cpu": [ "arm64" ], @@ -2692,15 +2650,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.4.tgz", - "integrity": "sha512-A45hGKWAGcjU5Ol0uQUoK0tHerwEKxfprYUZbmPLpD2yrpMZr+dTrwY2n075sixs7RuZEccBkgGNpehEe5BPBQ==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.5.tgz", - "integrity": "sha512-5ArGdqvFMszNHdi4a67vopeYq8d1K+FuTWDrblHrAvZFhAyv+GQz2PnKqYOgl0sWmQxsNPfNwBFtxACpUO3Jzg==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.6.tgz", + "integrity": "sha512-QI8QGL0HGT42tj7F1A+YAzhGkJjUcvvTfI1e2m704W0Enl2/UIK9v5D1zvQzYwusRyKuaQfbeBRYDh0NcLOGLg==", "cpu": [ "arm64" ], @@ -2713,15 +2665,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.4.tgz", - "integrity": "sha512-bcO1MpAm39TXqqHuYW4ox4vDvhB7jkguwMwxvmL+cKBGsUHrIoUTfGt9NM9N4D4CvOwULlxqbyt19veUJ7CVPw==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.5.tgz", - "integrity": "sha512-mSVVV/PFzCGtI1nVQQyx34NwCMgSurF6ZX/me8pUAX054vsE/pSFL66xN+kQOe/1Z/LOd4UmXFkZ/EzOSnYcSg==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.6.tgz", + "integrity": "sha512-61AYVzhjuNQAVIKKWOJu3H0/pFD28RYJGxnGg3YMhvRLRyuWNyY5Nyyj2WkKcz/ON+g38Arlz00NT1LDIViRLg==", "cpu": [ "x64" ], @@ -2734,15 +2680,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.4.tgz", - "integrity": "sha512-N6nXuHyDO/q5kPN2xQxz5BEvhFpgnFSkP+9wxg5xWq+qIQL5bv37jk8dkKvMLx/8fHzTqrIjPDSRzVbcL7sqXg==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.5.tgz", - "integrity": "sha512-09hY3ZKMUORXVunESKS9yuP78+gQbr759GKHo8wyCdtAx8lCZdEjfI5NtC7/1VqwfeE32/U6u+5MBTVhZTt0AA==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.6.tgz", + "integrity": "sha512-hQFznpfLK8XajfAAN9Cjs0w/aVmO7iu9VZvInyrTCRcPqxV5O+rvrhRxKvC1LRMZXr5M6JRSRtepp5w+TK4kAw==", "cpu": [ "x64" ], @@ -2755,15 +2695,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.4.tgz", - "integrity": "sha512-7W1owqCNR1cG+mpS55juiZlR/lrAdxB1pH32egeOipNKOLGwyqmlzQ0g9tkQTNgzwgfpCUg8z606+GqqXvajZw==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.5.tgz", - "integrity": "sha512-B/UDtPI3RlYRFW42xQxOpl6kI/9LtkD7No+XeRIKQTPe15EP2o+rUlv7CmKljVBXgJ8KmaQbZlaEh1YP+QZEEQ==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.6.tgz", + "integrity": "sha512-Aqsd9afykVMuekzjm4X4TDqwxmG4CrzoOSFe0hZrn9SMio72l5eAPnMtYoe5LsIqtjV8MNprLfXaNbjHjTegmA==", "cpu": [ "arm64" ], @@ -2776,15 +2710,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.4.tgz", - "integrity": "sha512-saLkY+q7zNPk4gYiUBCc93FYPo4ECXMjHcSPtLVHoPZBIxRrklgaAf6aDpblBo30nVdoBE2V3YPd0Y/cPiY6RQ==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.5.tgz", - "integrity": "sha512-BgLesVGmIY6Nub/sURqtSRvWYcbCE/ACfuZB3bZHVKD6nsZJJuOpdB8oC41fZPyc8yZUzL3XTBIifkT2RP+w9w==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.6.tgz", + "integrity": "sha512-9h0hYnOeRVNeQgHQTvD1Im67faNSSzBZ7Adtxyu9urNLfBTJilMllFd2QuGHlKW5+uaT6ZH7ZWDb+c/enx7Lcg==", "cpu": [ "ia32" ], @@ -2797,15 +2725,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { -<<<<<<< HEAD - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.4.tgz", - "integrity": "sha512-zKF6jpRBNuVKgOf2W5dMcPyjwcNCp21syjl9lvLRbCeIg+1U+zjdoQCAmMWWoPNE7fLg+yfvohnnOJG2AdzQ9Q==", -======= - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.5.tgz", - "integrity": "sha512-CnF557tidLfQRPczcqDJ8x+LBQYsFa0Ra6w2+YU1iFUboaI2jJVuqt3vEChu80y6JiRIBAaaV2L/GawDJh1dIQ==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.6.tgz", + "integrity": "sha512-izeoB8glCSe6IIDQmrVm6bvR9muk9TeKgmtY7b6l1BwL4BFnTUk4dMmpbntT90bEVQn3JPCaPtUG4HfL8VuyuA==", "cpu": [ "x64" ], @@ -2880,6 +2802,7 @@ "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/dotenv-webpack/-/dotenv-webpack-7.0.7.tgz", "integrity": "sha512-tltVokFUeYuSjNmHc6N892Asu/JIQcnH2iUF5A29/VKqv9opq6KlrmnKd/Lt/bBikV/z0YN2K0kguTwWirYCMQ==", + "dev": true, "dependencies": { "@types/node": "*", "tapable": "^2.2.0", @@ -2890,6 +2813,7 @@ "version": "9.6.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", + "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2899,6 +2823,7 @@ "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2907,7 +2832,8 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.21", @@ -2957,7 +2883,8 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2975,6 +2902,7 @@ "version": "22.1.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", + "dev": true, "dependencies": { "undici-types": "~6.13.0" } @@ -3285,6 +3213,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -3293,22 +3222,26 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -3318,12 +3251,14 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3335,6 +3270,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -3343,6 +3279,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -3350,12 +3287,14 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3371,6 +3310,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -3383,6 +3323,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -3394,6 +3335,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -3407,6 +3349,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -3459,12 +3402,14 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/accepts": { "version": "1.3.8", @@ -3483,6 +3428,7 @@ "version": "8.12.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3494,6 +3440,7 @@ "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, "peerDependencies": { "acorn": "^8" } @@ -3511,6 +3458,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3565,6 +3513,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -3875,12 +3824,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4048,7 +3997,8 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/bundle-name": { "version": "4.1.0", @@ -4123,9 +4073,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001646", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz", - "integrity": "sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==", + "version": "1.0.30001649", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz", + "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==", "funding": [ { "type": "opencollective", @@ -4202,6 +4152,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, "engines": { "node": ">=6.0" } @@ -4377,11 +4328,11 @@ "dev": true }, "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.38.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", + "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -4870,6 +4821,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz", "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==", + "dev": true, "dependencies": { "dotenv": "^8.2.0" } @@ -4878,6 +4830,7 @@ "version": "8.6.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, "engines": { "node": ">=10" } @@ -4886,6 +4839,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-8.1.0.tgz", "integrity": "sha512-owK1JcsPkIobeqjVrk6h7jPED/W6ZpdFsMPR+5ursB7/SdgDyO+VzAU+szK8C8u3qUhtENyYnj8eyXMR5kkGag==", + "dev": true, "dependencies": { "dotenv-defaults": "^2.0.2" }, @@ -4941,6 +4895,7 @@ "version": "5.17.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5109,7 +5064,8 @@ "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -5714,6 +5670,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -5725,6 +5682,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } @@ -5756,6 +5714,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, "engines": { "node": ">=0.8.x" } @@ -5843,7 +5802,8 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.3.0", @@ -5882,7 +5842,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -6411,7 +6372,8 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { "version": "15.9.0", @@ -6476,7 +6438,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -6485,15 +6448,9 @@ "dev": true }, "node_modules/haengdong-design": { -<<<<<<< HEAD - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/haengdong-design/-/haengdong-design-0.1.49.tgz", - "integrity": "sha512-bY8mmPcpHYaQOv2JMfF9wPvk4J6lII0375NaqDx4jQDrgFgrFusbYZFAy+gf+I5F+VAPCUSzHoQ0X7bzmAfm6Q==", -======= - "version": "0.1.53", - "resolved": "https://registry.npmjs.org/haengdong-design/-/haengdong-design-0.1.53.tgz", - "integrity": "sha512-CtaoUUdE6iTcTceAzKxZyn8LjJvMjrlYiQhxXC7RC36G1Jxc0OcU2WlAv/6yT8mfFKc1yUOi5H1omTXWjCD5gA==", ->>>>>>> 94d1404dee39ea7324a317cd37a86674795599eb + "version": "0.1.55", + "resolved": "https://registry.npmjs.org/haengdong-design/-/haengdong-design-0.1.55.tgz", + "integrity": "sha512-/jTHcVG3gZ1KdJNFNSOIcUoe7K+PnD4xof1+bWpXu9xqcyqEuII/70LAKohZOuFWjv/gMTw0Q0w+lQEkl+4fDw==", "dependencies": { "@emotion/react": "^11.11.4", "@storybook/addon-webpack5-compiler-swc": "^1.0.5", @@ -7529,6 +7486,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -7542,6 +7500,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -7550,6 +7509,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7601,7 +7561,8 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -7715,6 +7676,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, "engines": { "node": ">=6.11.5" } @@ -7828,7 +7790,8 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", @@ -7877,6 +7840,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -7885,6 +7849,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -8042,7 +8007,8 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/no-case": { "version": "3.0.4", @@ -8678,6 +8644,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } @@ -8721,6 +8688,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -9139,6 +9107,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, "funding": [ { "type": "github", @@ -9189,6 +9158,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -9278,6 +9248,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -9528,6 +9499,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9537,6 +9509,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -9967,6 +9940,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, "engines": { "node": ">=6" } @@ -9975,6 +9949,7 @@ "version": "5.31.3", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -9992,6 +9967,7 @@ "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==", + "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -10024,7 +10000,8 @@ "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/text-table": { "version": "0.2.0", @@ -10402,7 +10379,8 @@ "node_modules/undici-types": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", + "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -10491,6 +10469,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -10538,6 +10517,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -10559,6 +10539,7 @@ "version": "5.93.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -10877,6 +10858,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, "engines": { "node": ">=10.13.0" } @@ -10885,6 +10867,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -10897,6 +10880,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { "node": ">=4.0" } diff --git a/client/package.json b/client/package.json index 833053883..1c38e1cb0 100644 --- a/client/package.json +++ b/client/package.json @@ -39,12 +39,12 @@ "typescript-eslint": "^7.16.0", "webpack": "^5.93.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^5.0.4" + "webpack-dev-server": "^5.0.4", + "@types/dotenv-webpack": "^7.0.7", + "dotenv-webpack": "^8.1.0" }, "dependencies": { "@emotion/react": "^11.11.4", - "@types/dotenv-webpack": "^7.0.7", - "dotenv-webpack": "^8.1.0", "haengdong-design": "^0.1.53", "react": "^18.3.1", "react-dom": "^18.3.1", From a166c444e9da7d05c96cb313970d9fcdc315e9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:42:19 +0900 Subject: [PATCH 12/20] =?UTF-8?q?refactor:=20index.ts=20=EC=A0=95=EC=9D=98?= =?UTF-8?q?=20=EB=B0=8F=20props=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AddBillActionListModalContent.tsx | 4 ++-- .../SetActionModal/AddBillActionListModalContent/index.ts | 1 + .../AddMemberActionListModalContent.tsx | 7 ++++--- .../AddMemberActionListModalContent/index.ts | 1 + .../Modal/SetActionModal/SetActionListModal.tsx | 8 +++++--- 5 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 client/src/components/Modal/SetActionModal/AddBillActionListModalContent/index.ts create mode 100644 client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/index.ts diff --git a/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/AddBillActionListModalContent.tsx b/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/AddBillActionListModalContent.tsx index 873fe8118..8fac562f5 100644 --- a/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/AddBillActionListModalContent.tsx +++ b/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/AddBillActionListModalContent.tsx @@ -7,12 +7,12 @@ import useDynamicBillActionInput from '@hooks/useDynamicBillActionInput'; import style from './AddBillActionListModalContent.style'; -interface SetPurchaseProps { +interface AddBillActionListModalContentProps { setOpenBottomSheet: React.Dispatch>; setOrder: React.Dispatch>; } -const AddBillActionListModalContent = ({setOpenBottomSheet, setOrder}: SetPurchaseProps) => { +const AddBillActionListModalContent = ({setOpenBottomSheet, setOrder}: AddBillActionListModalContentProps) => { const { inputPairList, inputRefList, diff --git a/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/index.ts b/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/index.ts new file mode 100644 index 000000000..ed3e43886 --- /dev/null +++ b/client/src/components/Modal/SetActionModal/AddBillActionListModalContent/index.ts @@ -0,0 +1 @@ +export {default as AddBillActionListModalContent} from './AddBillActionListModalContent'; diff --git a/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/AddMemberActionListModalContent.tsx b/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/AddMemberActionListModalContent.tsx index 59894493c..aff2764c8 100644 --- a/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/AddMemberActionListModalContent.tsx +++ b/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/AddMemberActionListModalContent.tsx @@ -1,19 +1,20 @@ +import type {MemberType} from 'types/serviceType'; + import {FixedButton, LabelGroupInput} from 'haengdong-design'; import {useStepList} from '@hooks/useStepList/useStepList'; import validateMemberName from '@utils/validate/validateMemberName'; -import {MemberType} from 'types/serviceType'; import useDynamicInput from '@hooks/useDynamicInput'; import style from './AddMemberActionListModalContent.style'; -interface UpdateMembersProps { +interface AddMemberActionListModalContentProps { inOutAction: MemberType; setOpenBottomSheet: React.Dispatch>; } -const AddMemberActionListModalContent = ({inOutAction, setOpenBottomSheet}: UpdateMembersProps) => { +const AddMemberActionListModalContent = ({inOutAction, setOpenBottomSheet}: AddMemberActionListModalContentProps) => { const { inputList, inputRefList, diff --git a/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/index.ts b/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/index.ts new file mode 100644 index 000000000..6519283f4 --- /dev/null +++ b/client/src/components/Modal/SetActionModal/AddMemberActionListModalContent/index.ts @@ -0,0 +1 @@ +export {default as AddMemberActionListModalContent} from './AddMemberActionListModalContent'; diff --git a/client/src/components/Modal/SetActionModal/SetActionListModal.tsx b/client/src/components/Modal/SetActionModal/SetActionListModal.tsx index 7c51d9972..2bc941988 100644 --- a/client/src/components/Modal/SetActionModal/SetActionListModal.tsx +++ b/client/src/components/Modal/SetActionModal/SetActionListModal.tsx @@ -3,8 +3,8 @@ import type {InOutType} from 'types/serviceType'; import {useState} from 'react'; import {BottomSheet, Switch} from 'haengdong-design'; -import SetPurchase from './AddBillActionListModalContent/AddBillActionListModalContent'; -import AddMemberActionListModalContent from './AddMemberActionListModalContent/AddMemberActionListModalContent'; +import {AddBillActionListModalContent} from './AddBillActionListModalContent'; +import {AddMemberActionListModalContent} from './AddMemberActionListModalContent'; import style from './SetActionListModal.style'; export type ActionType = '지출' | '인원'; @@ -37,7 +37,9 @@ const SetActionListModal = ({openBottomSheet, setOpenBottomSheet, setOrder}: Set )} - {action === '지출' && } + {action === '지출' && ( + + )} {action === '인원' && ( Date: Mon, 5 Aug 2024 15:42:26 +0900 Subject: [PATCH 13/20] =?UTF-8?q?remove:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/hooks/useDynamicInputPairs.tsx | 47 ----------------------- 1 file changed, 47 deletions(-) delete mode 100644 client/src/hooks/useDynamicInputPairs.tsx diff --git a/client/src/hooks/useDynamicInputPairs.tsx b/client/src/hooks/useDynamicInputPairs.tsx deleted file mode 100644 index 52d31d2c8..000000000 --- a/client/src/hooks/useDynamicInputPairs.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import type {Bill} from 'types/serviceType'; - -import {useEffect, useRef, useState} from 'react'; - -const useDynamicInputPairs = () => { - const [inputPairs, setInputPairs] = useState([{title: '', price: 0}]); - const inputRefs = useRef<(HTMLInputElement | null)[]>([]); - - const handleInputChange = (index: number, field: 'title' | 'price', value: string) => { - const newInputPairs = [...inputPairs]; - newInputPairs[index] = { - ...newInputPairs[index], - [field]: field === 'price' ? parseFloat(value) : value, - }; - setInputPairs(newInputPairs); - }; - - const handleInputBlur = (index: number) => { - const currentPair = inputPairs[index]; - if (currentPair.title.trim() === '' && currentPair.price === 0) { - setInputPairs(prev => prev.filter((_, i) => i !== index)); - } else if (currentPair.title.trim() !== '' && currentPair.price !== 0 && index === inputPairs.length - 1) { - setInputPairs(prev => [...prev, {title: '', price: 0}]); - } - }; - - const getNonEmptyInputPairs = () => { - return inputPairs.filter(currentPair => currentPair.title.trim() !== '' && currentPair.price !== 0); - }; - - useEffect(() => { - if (inputRefs.current.length > 0) { - const lastInputPair = inputRefs.current.slice(-2); - lastInputPair.forEach(ref => ref?.scrollIntoView({behavior: 'smooth', block: 'center'})); - } - }, [inputPairs]); - - return { - inputPairs, - getNonEmptyInputPairs, - inputRefs, - handleInputChange, - handleInputBlur, - }; -}; - -export default useDynamicInputPairs; From 6089b52e65e00a79e108f7d6f9adcf7275e49ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:44:29 +0900 Subject: [PATCH 14/20] =?UTF-8?q?refactor:=20index.ts=EB=A5=BC=20=ED=86=B5?= =?UTF-8?q?=ED=95=B4=20import=EB=AC=B8=20=EC=A4=84=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/Modal/index.ts | 2 ++ client/src/pages/EventPage/AdminPage/AdminPage.tsx | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 client/src/components/Modal/index.ts diff --git a/client/src/components/Modal/index.ts b/client/src/components/Modal/index.ts new file mode 100644 index 000000000..a6e55f84a --- /dev/null +++ b/client/src/components/Modal/index.ts @@ -0,0 +1,2 @@ +export {default as SetActionListModal} from './SetActionModal/SetActionListModal'; +export {default as SetInitialMemberListModal} from './SetInitialMemberListModal/SetInitialMemberListModal'; diff --git a/client/src/pages/EventPage/AdminPage/AdminPage.tsx b/client/src/pages/EventPage/AdminPage/AdminPage.tsx index 5f5161327..292a7a726 100644 --- a/client/src/pages/EventPage/AdminPage/AdminPage.tsx +++ b/client/src/pages/EventPage/AdminPage/AdminPage.tsx @@ -7,8 +7,8 @@ import StepList from '@components/StepList/StepList'; import {useStepList} from '@hooks/useStepList/useStepList'; import {requestGetEventName} from '@apis/request/event'; import useEventId from '@hooks/useEventId/useEventId'; -import {SetActionListModal} from '@components/Modal/SetActionModal'; -import {SetInitialMemberListModal} from '@components/Modal/SetInitialMemberListModal'; + +import {SetActionListModal, SetInitialMemberListModal} from '@components/Modal'; import {ReceiptStyle} from './AdminPage.style'; From b4fb404e01e46a0a363cfc9392776341ab1b7afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 15:45:14 +0900 Subject: [PATCH 15/20] =?UTF-8?q?refactor:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=ED=83=80=EC=9E=85=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/pages/EventPage/AdminPage/AdminPage.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/client/src/pages/EventPage/AdminPage/AdminPage.tsx b/client/src/pages/EventPage/AdminPage/AdminPage.tsx index 292a7a726..2c4ccd5a9 100644 --- a/client/src/pages/EventPage/AdminPage/AdminPage.tsx +++ b/client/src/pages/EventPage/AdminPage/AdminPage.tsx @@ -1,5 +1,3 @@ -import type {InOutType} from 'types/serviceType'; - import {useEffect, useState} from 'react'; import {Title, FixedButton} from 'haengdong-design'; From bc24ffc005b860090645fea5753449d80894c261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 16:16:26 +0900 Subject: [PATCH 16/20] =?UTF-8?q?remove:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20action=20=ED=95=A8=EC=88=98=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/apis/request/action.ts | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 client/src/apis/request/action.ts diff --git a/client/src/apis/request/action.ts b/client/src/apis/request/action.ts deleted file mode 100644 index 110555760..000000000 --- a/client/src/apis/request/action.ts +++ /dev/null @@ -1,15 +0,0 @@ -import {BASE_URL} from '@apis/baseUrl'; -import {TEMP_PREFIX} from '@apis/tempPrefix'; -import {requestDelete} from '@apis/fetcher'; -import {WithEventId} from '@apis/withEventId.type'; - -type RequestDeleteAction = { - actionId: number; -}; - -export const requestDeleteAction = async ({eventId, actionId}: WithEventId) => { - await requestDelete({ - baseUrl: BASE_URL.HD, - endpoint: `${TEMP_PREFIX}/${eventId}/actions/${actionId}`, - }); -}; From aee1056ea132e82ae6df417bf17a895595f56d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 16:19:48 +0900 Subject: [PATCH 17/20] =?UTF-8?q?refactor:=20get=20out=20member=20modal=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=ED=95=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=A1=9C=20=EC=9D=B8=ED=95=B4=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=ED=84=B0=EC=A7=80=EB=8A=94=20=ED=98=84=EC=83=81=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/components/Modal/InOut/GetOutMember.tsx | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/client/src/components/Modal/InOut/GetOutMember.tsx b/client/src/components/Modal/InOut/GetOutMember.tsx index 97b44d0ef..188847314 100644 --- a/client/src/components/Modal/InOut/GetOutMember.tsx +++ b/client/src/components/Modal/InOut/GetOutMember.tsx @@ -1,10 +1,4 @@ -import {Text, Input, BottomSheet, FixedButton} from 'haengdong-design'; - -import {useStepList} from '@hooks/useStepList/useStepList'; - -import useDynamicInput from '@hooks/useDynamicAdditionalInput'; - -import {setInitialParticipantsInputGroupStyle, setInitialParticipantsStyle} from './ComeInMember.style'; +import {BottomSheet, FixedButton} from 'haengdong-design'; interface SetInitialParticipantsProps { openBottomSheet: boolean; @@ -12,8 +6,6 @@ interface SetInitialParticipantsProps { } const GetOutMember = ({openBottomSheet, setOpenBottomSheet}: SetInitialParticipantsProps) => { - const {inputs, inputRefs, handleInputChange, handleInputBlur, getNonEmptyInputs} = useDynamicInput(); - return ( setOpenBottomSheet(false)}> 망쵸모달 나감 모달 From 28c3e01c19f2f4acb6670ea9e20f05d7b1491e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A7=84=ED=98=B8?= Date: Mon, 5 Aug 2024 16:21:23 +0900 Subject: [PATCH 18/20] =?UTF-8?q?fix:=20=EC=9E=98=EB=AA=BB=EB=90=9C=20impo?= =?UTF-8?q?rt=20=EC=88=98=EC=A0=95=20->=20=EC=83=88=EB=A1=9C=20=EB=A7=8C?= =?UTF-8?q?=EB=93=A4=EC=96=B4=EC=A7=84=20=EB=A9=A4=EB=B2=84=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20api=EB=A1=9C=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/hooks/useStepList/useMemberAction.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/hooks/useStepList/useMemberAction.tsx b/client/src/hooks/useStepList/useMemberAction.tsx index e02a29c49..0f54f4a82 100644 --- a/client/src/hooks/useStepList/useMemberAction.tsx +++ b/client/src/hooks/useStepList/useMemberAction.tsx @@ -1,7 +1,7 @@ import type {BillStep, MemberAction, MemberStep} from 'types/serviceType'; import useEventId from '@hooks/useEventId/useEventId'; -import {requestDeleteAction} from '@apis/request/action'; +import {requestDeleteMemberAction} from '@apis/request/member'; interface UseMemberActionProps { stepList: Array; @@ -22,7 +22,7 @@ const useMemberAction = ({stepList, refreshStepList}: UseMemberActionProps) => { return; } } - await requestDeleteAction({eventId, actionId: action.actionId}); + await requestDeleteMemberAction({eventId, actionId: action.actionId}); refreshStepList(); }; From 6079db1c90f13424b09d8da444cb0095b5980ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=90=E1=85=A2=E1=84=92=E1=85=AE?= =?UTF-8?q?=E1=86=AB?= Date: Mon, 5 Aug 2024 17:12:32 +0900 Subject: [PATCH 19/20] =?UTF-8?q?chore:=20HDesign=20v0.1.56=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HDesign/package-lock.json | 4 ++-- HDesign/package.json | 2 +- HDesign/src/components/BottomSheet/BottomSheet.tsx | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/HDesign/package-lock.json b/HDesign/package-lock.json index dae3e34ff..31ea440fd 100644 --- a/HDesign/package-lock.json +++ b/HDesign/package-lock.json @@ -1,12 +1,12 @@ { "name": "haengdong-design", - "version": "0.1.55", + "version": "0.1.56", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "haengdong-design", - "version": "0.1.55", + "version": "0.1.56", "license": "ISC", "dependencies": { "@emotion/react": "^11.11.4", diff --git a/HDesign/package.json b/HDesign/package.json index 90ad0d4d1..779f889be 100644 --- a/HDesign/package.json +++ b/HDesign/package.json @@ -1,6 +1,6 @@ { "name": "haengdong-design", - "version": "0.1.55", + "version": "0.1.56", "description": "", "main": "./dist/index.js", "module": "./dist/index.js", diff --git a/HDesign/src/components/BottomSheet/BottomSheet.tsx b/HDesign/src/components/BottomSheet/BottomSheet.tsx index f920a0fdb..a1d3590c2 100644 --- a/HDesign/src/components/BottomSheet/BottomSheet.tsx +++ b/HDesign/src/components/BottomSheet/BottomSheet.tsx @@ -19,16 +19,16 @@ import { const BottomSheet: React.FC = ({ isOpened = false, children, - onChangeClose, - onChangeOpen, + onClose, + onOpen, ...props }: BottomSheetProps) => { const {theme} = useTheme(); const {opened, visible, handleClose, handleDragStart, handleDrag, handleDragEnd, isDragging, translateY} = useBottomSheet({ isOpened, - onChangeClose, - onChangeOpen, + onClose, + onOpen, }); // TODO: (@todari) : children 길이 길 때 overflow button에 안가리는 영역 처리 From c30a387da302af9b7f7bdced8f75201788e3c734 Mon Sep 17 00:00:00 2001 From: Soyeon Choe Date: Mon, 5 Aug 2024 18:03:34 +0900 Subject: [PATCH 20/20] =?UTF-8?q?chore:=20EditBillActionMoal=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=83=9D=EC=84=B1=20=EB=B0=8F=20?= =?UTF-8?q?BillStepItem=20onClick=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EditBillActionModal.style.ts | 0 .../EditBillActionModal.tsx | 28 +++++++++++++++++++ .../src/components/StepList/BillStepItem.tsx | 15 ++++++---- 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 client/src/components/Modal/EditBillActionModal/EditBillActionModal.style.ts create mode 100644 client/src/components/Modal/EditBillActionModal/EditBillActionModal.tsx diff --git a/client/src/components/Modal/EditBillActionModal/EditBillActionModal.style.ts b/client/src/components/Modal/EditBillActionModal/EditBillActionModal.style.ts new file mode 100644 index 000000000..e69de29bb diff --git a/client/src/components/Modal/EditBillActionModal/EditBillActionModal.tsx b/client/src/components/Modal/EditBillActionModal/EditBillActionModal.tsx new file mode 100644 index 000000000..30d1a411d --- /dev/null +++ b/client/src/components/Modal/EditBillActionModal/EditBillActionModal.tsx @@ -0,0 +1,28 @@ +import {BottomSheet, LabelGroupInput, FixedButton, Text} from 'haengdong-design'; +import {useState} from 'react'; + +import {BillAction} from 'types/serviceType'; + +interface EditBillActionModalProps { + isOpened: boolean; + billAction: BillAction; +} + +const EditBillActionModal = ({isOpened, billAction}: EditBillActionModalProps) => { + const [errorText, setErrorText] = useState(''); + + const [isEdited, setIsEdited] = useState(false); + + return ( + + 지출 내역 수정하기 + + + + + + + ); +}; + +export default EditBillActionModal; diff --git a/client/src/components/StepList/BillStepItem.tsx b/client/src/components/StepList/BillStepItem.tsx index 08a01f753..db2c38f82 100644 --- a/client/src/components/StepList/BillStepItem.tsx +++ b/client/src/components/StepList/BillStepItem.tsx @@ -2,6 +2,7 @@ import type {BillStep} from 'types/serviceType'; import {StepItem} from 'haengdong-design'; +import EditBillActionModal from '@components/Modal/EditBillActionModal/EditBillActionModal'; interface BillStepItemProps { step: BillStep; isOpenBottomSheet: boolean; @@ -10,11 +11,15 @@ interface BillStepItemProps { const BillStepItem: React.FC = ({step, isOpenBottomSheet, setOpenBottomSheet}) => { return ( - + <> + setOpenBottomSheet(true)} + /> + + ); };