From 4913f71d61efc8cbbf505e174be7dd90b52162c8 Mon Sep 17 00:00:00 2001 From: naji Date: Tue, 22 Oct 2024 09:39:30 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=82=98=EC=A7=80=EC=9B=90]=20sprint8=20(#114?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: add missing type attribute to button element * feat: add Comment and EditingComment components in Comments * feat: implement shared Dropdown component * chore: change shared components to tsx - Moved shared components to the shared folder - Separated Label component from Input and Textarea * refactor: convert shared utility functions to ts * refactor: convert feature folder components to tsx * refactor: convert page components to tsx * feat: add LandingPage component * feat: add Login and Signup components - left validation logic incomplete --------- Co-authored-by: naji --- jsconfig.json | 6 - package-lock.json | 57 ++- package.json | 5 + src/{App.js => App.tsx} | 0 src/assets/images/Img_home_01.png | Bin 0 -> 54793 bytes src/assets/images/Img_home_02.png | Bin 0 -> 81544 bytes src/assets/images/Img_home_03.png | Bin 0 -> 37081 bytes src/assets/images/Img_home_bottom.svg | 111 +++++ src/assets/images/Img_home_top.svg | 78 ++++ src/assets/images/btn_hide.svg | 11 + src/assets/images/btn_show.svg | 3 + src/assets/images/ic_facebook.svg | 3 + src/assets/images/ic_google.svg | 10 + src/assets/images/ic_instagram.svg | 3 + src/assets/images/ic_kakao.svg | 12 + src/assets/images/ic_twitter.svg | 3 + src/assets/images/ic_youtube.svg | 10 + src/assets/images/img_empty.svg | 16 + src/assets/images/main.css | 431 ++++++++++++++++++ src/components/Button.js | 22 - src/components/Input.js | 22 - src/components/XButton.js | 12 - src/constants/message.js | 2 - .../{AddProductForm.js => AddProductForm.tsx} | 56 ++- .../{FileInput.js => FileInput.tsx} | 30 +- .../AuthForm/components/AuthForm.module.css | 124 +++++ .../AuthForm/components/LoginForm.tsx | 101 ++++ .../AuthForm/components/SignupForm.tsx | 128 ++++++ .../{AuthorInfo.js => AuthorInfo.tsx} | 9 +- .../Product/components/Comment.module.css | 64 +++ src/features/Product/components/Comment.tsx | 46 ++ src/features/Product/components/Comments.js | 118 ----- .../Product/components/Comments.module.css | 86 ---- src/features/Product/components/Comments.tsx | 74 +++ src/features/Product/components/Dropdown.js | 46 -- .../Product/components/Dropdown.module.css | 38 -- .../components/EditingComment.module.css | 64 +++ .../Product/components/EditingComment.tsx | 62 +++ .../components/{Inquiry.js => Inquiry.tsx} | 18 +- .../{ProductDetail.js => ProductDetail.tsx} | 44 +- src/features/Product/services/getProudct.js | 23 - .../{BestProducts.js => BestProducts.tsx} | 14 +- .../components/Dropdown.module.css | 80 ---- .../{Pagination.js => Pagination.tsx} | 23 +- .../components/ProductList.module.css | 55 +++ .../{ProductList.js => ProductList.tsx} | 37 +- .../ProductList/services/getProducts.js | 17 - src/index.js | 7 - src/index.tsx | 14 + .../{AddProductPage.js => AddProductPage.tsx} | 4 +- src/pages/AuthPage.module.css | 38 ++ src/pages/HomePage.js | 5 - src/pages/LandingPage.module.css | 389 ++++++++++++++++ src/pages/LandingPage.tsx | 130 ++++++ src/pages/LoginPage.tsx | 17 + ...ProductListPage.js => ProductListPage.tsx} | 10 +- src/pages/{ProductPage.js => ProductPage.tsx} | 4 +- src/pages/SignupPage.tsx | 17 + src/react-app-env.d.ts | 1 + src/routes/{AppRoutes.js => AppRoutes.tsx} | 10 +- src/{ => shared}/components/Button.module.css | 0 src/shared/components/Button.tsx | 31 ++ src/{ => shared}/components/Card.module.css | 0 .../Card.js => shared/components/Card.tsx} | 18 +- src/shared/components/Dropdown.module.css | 36 ++ .../components/Dropdown.tsx} | 32 +- .../components/HeartButton.module.css | 0 .../components/HeartButton.tsx} | 8 +- src/{ => shared}/components/Input.module.css | 9 +- src/shared/components/Input.tsx | 50 ++ src/shared/components/Label.module.css | 6 + src/shared/components/Label.tsx | 18 + src/{ => shared}/components/Tags.module.css | 0 .../Tags.js => shared/components/Tags.tsx} | 17 +- .../components/Textarea.module.css | 9 +- .../components/Textarea.tsx} | 28 +- .../components/XButton.module.css | 0 src/shared/components/XButton.tsx | 18 + src/shared/constants/message.ts | 11 + .../constants/responsiveConstants.ts} | 8 +- .../api.js => shared/constants/url.ts} | 0 .../layouts}/Header.module.css | 0 .../Header.js => shared/layouts/Header.tsx} | 6 +- .../layouts/MainLayout.tsx} | 2 +- src/shared/services/fetchData.ts | 37 ++ src/shared/types/components.ts | 11 + src/shared/utils/commonUtils.ts | 7 + .../utils/formatDate.ts} | 15 +- src/shared/utils/urlParams.ts | 11 + tsconfig.json | 21 + 90 files changed, 2585 insertions(+), 644 deletions(-) delete mode 100644 jsconfig.json rename src/{App.js => App.tsx} (100%) create mode 100644 src/assets/images/Img_home_01.png create mode 100644 src/assets/images/Img_home_02.png create mode 100644 src/assets/images/Img_home_03.png create mode 100644 src/assets/images/Img_home_bottom.svg create mode 100644 src/assets/images/Img_home_top.svg create mode 100644 src/assets/images/btn_hide.svg create mode 100644 src/assets/images/btn_show.svg create mode 100644 src/assets/images/ic_facebook.svg create mode 100644 src/assets/images/ic_google.svg create mode 100644 src/assets/images/ic_instagram.svg create mode 100644 src/assets/images/ic_kakao.svg create mode 100644 src/assets/images/ic_twitter.svg create mode 100644 src/assets/images/ic_youtube.svg create mode 100644 src/assets/images/img_empty.svg create mode 100644 src/assets/images/main.css delete mode 100644 src/components/Button.js delete mode 100644 src/components/Input.js delete mode 100644 src/components/XButton.js delete mode 100644 src/constants/message.js rename src/features/AddProduct/components/{AddProductForm.js => AddProductForm.tsx} (66%) rename src/features/AddProduct/components/{FileInput.js => FileInput.tsx} (67%) create mode 100644 src/features/AuthForm/components/AuthForm.module.css create mode 100644 src/features/AuthForm/components/LoginForm.tsx create mode 100644 src/features/AuthForm/components/SignupForm.tsx rename src/features/Product/components/{AuthorInfo.js => AuthorInfo.tsx} (76%) create mode 100644 src/features/Product/components/Comment.module.css create mode 100644 src/features/Product/components/Comment.tsx delete mode 100644 src/features/Product/components/Comments.js create mode 100644 src/features/Product/components/Comments.tsx delete mode 100644 src/features/Product/components/Dropdown.js delete mode 100644 src/features/Product/components/Dropdown.module.css create mode 100644 src/features/Product/components/EditingComment.module.css create mode 100644 src/features/Product/components/EditingComment.tsx rename src/features/Product/components/{Inquiry.js => Inquiry.tsx} (61%) rename src/features/Product/components/{ProductDetail.js => ProductDetail.tsx} (67%) delete mode 100644 src/features/Product/services/getProudct.js rename src/features/ProductList/components/{BestProducts.js => BestProducts.tsx} (63%) delete mode 100644 src/features/ProductList/components/Dropdown.module.css rename src/features/ProductList/components/{Pagination.js => Pagination.tsx} (76%) rename src/features/ProductList/components/{ProductList.js => ProductList.tsx} (64%) delete mode 100644 src/features/ProductList/services/getProducts.js delete mode 100644 src/index.js create mode 100644 src/index.tsx rename src/pages/{AddProductPage.js => AddProductPage.tsx} (63%) create mode 100644 src/pages/AuthPage.module.css delete mode 100644 src/pages/HomePage.js create mode 100644 src/pages/LandingPage.module.css create mode 100644 src/pages/LandingPage.tsx create mode 100644 src/pages/LoginPage.tsx rename src/pages/{ProductListPage.js => ProductListPage.tsx} (77%) rename src/pages/{ProductPage.js => ProductPage.tsx} (88%) create mode 100644 src/pages/SignupPage.tsx create mode 100644 src/react-app-env.d.ts rename src/routes/{AppRoutes.js => AppRoutes.tsx} (65%) rename src/{ => shared}/components/Button.module.css (100%) create mode 100644 src/shared/components/Button.tsx rename src/{ => shared}/components/Card.module.css (100%) rename src/{components/Card.js => shared/components/Card.tsx} (59%) create mode 100644 src/shared/components/Dropdown.module.css rename src/{features/ProductList/components/Dropdown.js => shared/components/Dropdown.tsx} (57%) rename src/{ => shared}/components/HeartButton.module.css (100%) rename src/{components/HeartButton.js => shared/components/HeartButton.tsx} (59%) rename src/{ => shared}/components/Input.module.css (79%) create mode 100644 src/shared/components/Input.tsx create mode 100644 src/shared/components/Label.module.css create mode 100644 src/shared/components/Label.tsx rename src/{ => shared}/components/Tags.module.css (100%) rename src/{components/Tags.js => shared/components/Tags.tsx} (59%) rename src/{ => shared}/components/Textarea.module.css (87%) rename src/{components/Textarea.js => shared/components/Textarea.tsx} (50%) rename src/{ => shared}/components/XButton.module.css (100%) create mode 100644 src/shared/components/XButton.tsx create mode 100644 src/shared/constants/message.ts rename src/{constants/responsiveConstants.js => shared/constants/responsiveConstants.ts} (73%) rename src/{constants/api.js => shared/constants/url.ts} (100%) rename src/{components => shared/layouts}/Header.module.css (100%) rename src/{components/Header.js => shared/layouts/Header.tsx} (86%) rename src/{layouts/MainLayout.js => shared/layouts/MainLayout.tsx} (82%) create mode 100644 src/shared/services/fetchData.ts create mode 100644 src/shared/types/components.ts create mode 100644 src/shared/utils/commonUtils.ts rename src/{utils/commonUtils.js => shared/utils/formatDate.ts} (70%) create mode 100644 src/shared/utils/urlParams.ts create mode 100644 tsconfig.json diff --git a/jsconfig.json b/jsconfig.json deleted file mode 100644 index 5875dc5b6..000000000 --- a/jsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "src" - }, - "include": ["src"] -} diff --git a/package-lock.json b/package-lock.json index 456da3051..1976208b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,15 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "@types/jest": "^29.5.13", + "@types/node": "^22.7.6", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.26.1", "react-scripts": "^5.0.1", + "typescript": "^5.6.3", "web-vitals": "^2.1.4" }, "devDependencies": { @@ -4402,9 +4407,10 @@ } }, "node_modules/@types/jest": { - "version": "29.5.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.4.tgz", - "integrity": "sha512-PhglGmhWeD46FYOVLt3X7TiWjzwuVGW9wG/4qocPevXMjCmrIc5b6db9WjeGE4QYVpUAWMDv3v0IiBwObY289A==", + "version": "29.5.13", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", + "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -4656,9 +4662,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==" + "version": "22.7.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.6.tgz", + "integrity": "sha512-/d7Rnj0/ExXDMcioS78/kf1lMzYk4BZV8MZGTBKzTGZ6/406ukkbYlIsZmMPhcR5KlkunDHQLrtAVmSq7r+mSw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/node-forge": { "version": "1.3.11", @@ -4705,19 +4715,20 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "version": "18.3.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz", + "integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "license": "MIT", "dependencies": { "@types/react": "*" } @@ -4737,11 +4748,6 @@ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", "license": "MIT" }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -18454,17 +18460,16 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -18488,6 +18493,12 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", "license": "MIT" }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", diff --git a/package.json b/package.json index 16bb413f9..782c9ff7b 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,15 @@ "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "@types/jest": "^29.5.13", + "@types/node": "^22.7.6", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.26.1", "react-scripts": "^5.0.1", + "typescript": "^5.6.3", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/src/App.js b/src/App.tsx similarity index 100% rename from src/App.js rename to src/App.tsx diff --git a/src/assets/images/Img_home_01.png b/src/assets/images/Img_home_01.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3d44d7de6c37c83498917bd5fdae30a4c74fbf GIT binary patch literal 54793 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 aY+>H(maVOAJ%?RXaPhp>xy-ZX5C0Enp67%B literal 0 HcmV?d00001 diff --git a/src/assets/images/Img_home_02.png b/src/assets/images/Img_home_02.png new file mode 100644 index 0000000000000000000000000000000000000000..fd68492b3a9f036ac13d1250ab534a98acbc8cd4 GIT binary patch literal 81544 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

?TQn+V%xt$JyjWvAp8(QEqWWraZTZO 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 CvP-Z4 literal 0 HcmV?d00001 diff --git a/src/assets/images/Img_home_03.png b/src/assets/images/Img_home_03.png new file mode 100644 index 0000000000000000000000000000000000000000..20c34ea5384582eb43605e63799bf76ecbd52c6b GIT binary patch literal 37081 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/Img_home_bottom.svg b/src/assets/images/Img_home_bottom.svg new file mode 100644 index 000000000..926335b71 --- /dev/null +++ b/src/assets/images/Img_home_bottom.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/Img_home_top.svg b/src/assets/images/Img_home_top.svg new file mode 100644 index 000000000..2c71c6070 --- /dev/null +++ b/src/assets/images/Img_home_top.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/btn_hide.svg b/src/assets/images/btn_hide.svg new file mode 100644 index 000000000..43cfd033b --- /dev/null +++ b/src/assets/images/btn_hide.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/images/btn_show.svg b/src/assets/images/btn_show.svg new file mode 100644 index 000000000..43a5af172 --- /dev/null +++ b/src/assets/images/btn_show.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/ic_facebook.svg b/src/assets/images/ic_facebook.svg new file mode 100644 index 000000000..8491c2f83 --- /dev/null +++ b/src/assets/images/ic_facebook.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/ic_google.svg b/src/assets/images/ic_google.svg new file mode 100644 index 000000000..39de6337b --- /dev/null +++ b/src/assets/images/ic_google.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/images/ic_instagram.svg b/src/assets/images/ic_instagram.svg new file mode 100644 index 000000000..c83306f84 --- /dev/null +++ b/src/assets/images/ic_instagram.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/ic_kakao.svg b/src/assets/images/ic_kakao.svg new file mode 100644 index 000000000..15dc4d0ff --- /dev/null +++ b/src/assets/images/ic_kakao.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/images/ic_twitter.svg b/src/assets/images/ic_twitter.svg new file mode 100644 index 000000000..14a6069a1 --- /dev/null +++ b/src/assets/images/ic_twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/ic_youtube.svg b/src/assets/images/ic_youtube.svg new file mode 100644 index 000000000..26dc92ee3 --- /dev/null +++ b/src/assets/images/ic_youtube.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/images/img_empty.svg b/src/assets/images/img_empty.svg new file mode 100644 index 000000000..0c0669a02 --- /dev/null +++ b/src/assets/images/img_empty.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/assets/images/main.css b/src/assets/images/main.css new file mode 100644 index 000000000..b98ae13da --- /dev/null +++ b/src/assets/images/main.css @@ -0,0 +1,431 @@ +.img { + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} + +.nav-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 16px 6px; + border-bottom: 1px solid #dfdfdf; +} + +.header-logo > img { + width: 103px; + height: 51px; +} + +.nav-header > .login { + background-color: var(--blue); + border-radius: 8px; + padding: 11px 43px; + font-size: 1rem; + font-weight: 600; + line-height: 1.625rem; + color: var(--gray100); +} + +.banner { + width: 100%; + display: flex; + flex-direction: column; + background-color: #cfe5ff; +} + +.banner-container { + display: flex; + flex-direction: column; + align-items: center; +} + +.banner-container-top { + gap: 132px; +} + +.banner-container-bottom { + gap: 131px; +} + +.banner-container > .intro-top { + margin-top: 48px; +} + +.banner-container > .intro-bottom { + margin-top: 121px; +} + +.banner-container > .intro { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + gap: 18px; +} + +.banner-container h2 { + font-size: 2rem; + font-weight: 700; + line-height: 2.8rem; + color: var(--gray700); +} + +.banner-container a { + background-color: var(--blue); + border-radius: 40px; + font-size: 1.125rem; + font-weight: 600; + line-height: 1.625rem; + color: var(--gray50); + padding: 11px 71px; + cursor: pointer; +} + +.banner-top-img { + background-image: url(../images/Img_home_top.svg); + width: 448px; + height: 204px; +} + +.banner-bottom-img { + background-image: url(../images/Img_home_bottom.svg); + width: 375px; + height: 198px; +} + +.card { + display: flex; + flex-direction: column; + gap: 40px; + margin: 52px 16px 83px; +} + +.card-content { + display: flex; + flex-direction: column; + gap: 24px; + max-width: 344px; + margin: 0 auto; +} + +.card-img { + width: 100%; + height: 259px; + border-radius: 7px; +} + +.card-container:nth-child(1) .card-img { + background-image: url(../images/Img_home_01.png); +} + +.card-container:nth-child(2) .card-img { + background-image: url(../images/Img_home_02.png); +} + +.card-container:nth-child(3) .card-img { + background-image: url(../images/Img_home_03.png); +} + +.card-info { + display: flex; + flex-direction: column; + justify-content: center; +} + +.card-info > span { + font-size: 1rem; + font-weight: 700; + line-height: 1.625rem; + color: var(--blue); +} + +.card-info > strong { + font-size: 1.5rem; + font-weight: 700; + line-height: 2rem; + color: var(--gray700); + margin: 8px 0 16px; +} + +.card-info .responsive-br { + display: none; +} + +.card-info > p { + font-size: 1rem; + font-weight: 500; + line-height: 1.625rem; + color: var(--gray700); +} + +.card-left span, +.card-left strong, +.card-left p { + text-align: right; +} + +.footer-container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: flex-start; + height: 160px; + background-color: #111827; + font-family: Arial; + font-size: 1rem; + font-weight: 400; + line-height: 1.15rem; + padding: 32px; +} + +.footer-info { + flex: 1 0 100%; + order: 1; + color: var(--gray400); +} + +.footer-links { + display: flex; + gap: 30px; +} + +.footer-links > a { + color: var(--gray200); +} + +.footer-social { + display: flex; + gap: 12px; +} + +.footer-social img { + width: 20px; + height: 20px; +} + +@media screen and (min-width: 768px) { + .nav-header { + padding: 10px 24px 9px; + } + + .header-logo > img { + content: url("../images/panda_logo.svg"); + width: 153px; + } + + .banner-container > .intro { + gap: 24px; + } + + .banner-container h2 { + font-size: 2.5rem; + line-height: 3.5rem; + } + + .banner-container a { + font-size: 1.25rem; + line-height: 2rem; + padding: 12px 124px; + } + + .banner-container .responsive-br { + display: none; + } + + .banner-container-top { + gap: 211px; + } + + .banner-container-bottom { + gap: 217px; + } + + .banner-container > .intro-top { + margin-top: 84px; + } + + .banner-container > .intro-bottom { + margin-top: 201px; + } + + .banner-top-img { + width: 100%; + height: 340px; + } + + .banner-bottom-img { + width: 100%; + height: 397px; + } + + .card { + gap: 52px; + margin: 24px 24px 56px; + } + + .card-content { + max-width: 696px; + } + + .card-img { + width: 100%; + height: 524px; + border-radius: 14px; + } + + .card-info > span { + font-size: 1.125rem; + line-height: 1.625rem; + } + + .card-info > strong { + font-size: 2rem; + line-height: 2.625rem; + margin: 16px 0 24px; + } + + .card-info > p { + font-size: 1.125rem; + line-height: 1.625rem; + } + + .footer-container { + flex-wrap: nowrap; + padding: 32px 104px 108px; + } + + .footer-info { + flex: 0 1 auto; + order: 0; + color: var(--gray400); + } +} + +@media screen and (min-width: 1200px) { + .nav-header { + padding: 9px 200px; + } + + .banner { + height: 540px; + flex-direction: row; + justify-content: center; + align-items: flex-end; + } + + .banner-container { + flex-direction: row; + } + + .banner-container > .intro { + gap: 32px; + padding-bottom: 60px; + text-align: left; + align-items: flex-start; + } + + .banner-container a { + padding: 12px 124px; + } + + .banner-container .responsive-br { + display: block; + } + + .banner-container-top { + gap: 7px; + } + + .banner-container-bottom { + gap: 69px; + } + + .banner-container > .intro-top { + margin: 40px 0; + } + + .banner-container > .intro-bottom { + margin: 112.5px 0; + } + + .banner-top-img { + width: 746px; + height: 340px; + } + + .banner-bottom-img { + width: 746px; + height: 397px; + } + + .card { + display: block; + gap: 0px; + margin: 0; + } + + .card-right { + justify-content: flex-start; + } + + .card-left { + justify-content: flex-end; + } + + .card-container { + display: flex; + align-items: center; + max-width: 1200px; + margin: 0 auto; + height: 720px; + } + + .card-content { + flex-direction: row; + max-width: 100%; + gap: 64px; + margin: 0; + } + + .card-left .card-content { + flex-direction: row-reverse; + } + + .card-img { + width: 588px; + height: 444px; + border-radius: 12px; + } + + .card-info > span { + font-size: 1.125rem; + line-height: 1.625rem; + } + + .card-info > strong { + font-size: 2.5rem; + line-height: 3.5rem; + letter-spacing: 0.02em; + margin: 12px 0 24px; + } + + .card-info .responsive-br { + display: block; + } + + .card-info > p { + font-size: 1.5rem; + line-height: 2rem; + } + + .footer-container { + padding: 32px 400px 108px; + } +} + +@media screen and (min-width: 1920px) { + .nav-header { + padding: 9px 400px; + } +} diff --git a/src/components/Button.js b/src/components/Button.js deleted file mode 100644 index 572c4b097..000000000 --- a/src/components/Button.js +++ /dev/null @@ -1,22 +0,0 @@ -import styles from "./Button.module.css"; - -const Button = ({ type, className = "", disabled, children }) => { - const handleClick = (event) => { - if (type === "submit") { - event.preventDefault(); - } - }; - - return ( - - ); -}; - -export default Button; diff --git a/src/components/Input.js b/src/components/Input.js deleted file mode 100644 index 6fb3d5df1..000000000 --- a/src/components/Input.js +++ /dev/null @@ -1,22 +0,0 @@ -import styles from "./Input.module.css"; - -const Input = ({ type, name, label, placeholder, onChange, onKeyUp }) => { - return ( -

- - -
- ); -}; - -export default Input; diff --git a/src/components/XButton.js b/src/components/XButton.js deleted file mode 100644 index 93f3a3f2d..000000000 --- a/src/components/XButton.js +++ /dev/null @@ -1,12 +0,0 @@ -import styles from "./XButton.module.css"; -import { ReactComponent as XIcon } from "assets/images/ic_x.svg"; - -const XButton = ({ onClick, className = "" }) => { - return ( - - ); -}; - -export default XButton; diff --git a/src/constants/message.js b/src/constants/message.js deleted file mode 100644 index cb0039ad4..000000000 --- a/src/constants/message.js +++ /dev/null @@ -1,2 +0,0 @@ -export const INQUIRY_PLACEHOLDER = - "개인정보를 공유 및 요청하거나, 명예 훼손, 무단 광고, 불법 정보 유포시 모니터링 후 삭제될 수 있으며, 이에 대한 민형사상 책임은 게시자에게 있습니다."; diff --git a/src/features/AddProduct/components/AddProductForm.js b/src/features/AddProduct/components/AddProductForm.tsx similarity index 66% rename from src/features/AddProduct/components/AddProductForm.js rename to src/features/AddProduct/components/AddProductForm.tsx index 623e5a113..d0434fdb0 100644 --- a/src/features/AddProduct/components/AddProductForm.js +++ b/src/features/AddProduct/components/AddProductForm.tsx @@ -1,11 +1,27 @@ -import { useState, useEffect } from "react"; +import { + useState, + useEffect, + ChangeEvent, + KeyboardEvent, + MouseEvent, +} from "react"; import FileInput from "./FileInput"; -import Input from "components/Input"; -import Textarea from "components/Textarea"; -import Button from "components/Button"; -import Tags from "components/Tags"; +import Input from "shared/components/Input"; +import Textarea from "shared/components/Textarea"; +import Button from "shared/components/Button"; +import Tags from "shared/components/Tags"; import styles from "./AddProductForm.module.css"; +interface Values { + imgFile: File | null; + product: string; + description: string; + price: string; + tags: string[]; +} + +type ChangeValue = string | string[] | File | null; + const INITIAL_VALUES = { imgFile: null, product: "", @@ -14,11 +30,11 @@ const INITIAL_VALUES = { tags: [], }; -const AddProuductForm = () => { +const AddProductForm = () => { const [isDisabled, setIsDisabled] = useState(true); - const [values, setValues] = useState(INITIAL_VALUES); + const [values, setValues] = useState(INITIAL_VALUES); - const handleChange = (name, value) => { + const handleChange = (name: string, value: ChangeValue) => { setValues((prevValues) => { return { ...prevValues, @@ -27,13 +43,16 @@ const AddProuductForm = () => { }); }; - const handleInputChange = (e) => { + const handleInputChange = ( + e: ChangeEvent | ChangeEvent + ) => { const { name, value } = e.target; handleChange(name, value); }; - const checkFormEmpty = (values) => { + const checkFormEmpty = (values: Values) => { const { imgFile, ...otherValues } = values; + return Object.values(otherValues).some((value) => { if (Array.isArray(value)) { return value.length === 0; @@ -42,19 +61,22 @@ const AddProuductForm = () => { }); }; - const handleKeyUp = (e) => { + const handleKeyUp = (e: KeyboardEvent) => { if (e.key === "Enter") { - const { name, value } = e.target; - e.target.value = ""; + const { name, value } = e.currentTarget; + e.currentTarget.value = ""; if (values.tags.includes(value) || value.trim() === "") return; handleChange(name, [...values.tags, value]); } }; - const handleTagRemove = (event, target) => { - event.preventDefault(); - const nextValue = values.tags.filter((tag) => tag !== target); + const handleTagRemove = ( + e: MouseEvent, + target: string + ) => { + e.preventDefault(); + const nextValue: string[] = values.tags.filter((tag) => tag !== target); handleChange("tags", nextValue); }; @@ -112,4 +134,4 @@ const AddProuductForm = () => { ); }; -export default AddProuductForm; +export default AddProductForm; diff --git a/src/features/AddProduct/components/FileInput.js b/src/features/AddProduct/components/FileInput.tsx similarity index 67% rename from src/features/AddProduct/components/FileInput.js rename to src/features/AddProduct/components/FileInput.tsx index f8ccb6f83..74aaf9db0 100644 --- a/src/features/AddProduct/components/FileInput.js +++ b/src/features/AddProduct/components/FileInput.tsx @@ -1,27 +1,39 @@ -import { useState, useEffect, useRef } from "react"; +import { useState, useEffect, useRef, ChangeEvent, MouseEvent } from "react"; import styles from "./FileInput.module.css"; import plusImg from "assets/images/ic_plus.svg"; -import XButton from "components/XButton"; +import XButton from "shared/components/XButton"; -const FileInput = ({ label, name, value, onChange }) => { +interface Props { + label: string; + name: string; + value: File | null; + onChange: (name: string, value: File | null) => void; +} + +const FileInput = ({ label, name, value, onChange }: Props) => { const [preview, setPreview] = useState(""); const [isExist, setIsExist] = useState(false); - const inputRef = useRef(); + const inputRef = useRef(null); - const handleChange = (e) => { - const nextValue = e.target.files[0]; - onChange(name, nextValue); + const handleChange = (e: ChangeEvent) => { + const files = e.target.files; + if (files && files.length > 0) { + const nextValue = files[0]; + const allowedTypes = ["image/png", "image/jpeg"]; + if (!allowedTypes.includes(nextValue.type)) return; + onChange(name, nextValue); + } }; - const handleUploadClick = (e) => { + const handleUploadClick = (e: MouseEvent) => { if (value) { e.preventDefault(); setIsExist(true); } }; - const handleClearClick = (e) => { + const handleClearClick = (e: MouseEvent) => { e.preventDefault(); const inputNode = inputRef.current; if (!inputNode) return; diff --git a/src/features/AuthForm/components/AuthForm.module.css b/src/features/AuthForm/components/AuthForm.module.css new file mode 100644 index 000000000..359e87311 --- /dev/null +++ b/src/features/AuthForm/components/AuthForm.module.css @@ -0,0 +1,124 @@ +.authForm { + max-width: 400px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.input { + gap: 8px; +} + +.authForm label { + font-size: 0.875rem; + line-height: 1.5rem; +} + +.btnEye { + position: absolute; + width: 24px; + height: 24px; + top: 16px; + right: 16px; + cursor: pointer; +} + +.btnEye.show { + content: url("assets/images/btn_show.svg"); +} + +.button { + padding: 12px 145px; + border-radius: 40px; + font-size: 1.25rem; + line-height: 2rem; + cursor: pointer; + margin-bottom: 8px; +} + +.button.active { + background-color: var(--blue); +} + +.validationFocus { + outline: 1px solid var(--red); +} + +.validationMessage { + display: none; + font-size: 0.875rem; + font-weight: 600; + line-height: 1.5rem; + color: var(--red); + padding-left: 16px; + margin-top: 8px; +} + +.otherAccount { + display: flex; + justify-content: space-between; + align-items: center; + background-color: #e6f2ff; + padding: 16px 23px; + gap: 10px; + border-radius: 8px; + font-size: 1rem; + font-weight: 500; + line-height: 1.625rem; + color: var(--gary800); + margin-bottom: 8px; +} + +.otherAccount img { + width: 42px; + height: 42px; +} + +.iconContainer { + display: flex; + gap: 16px; +} + +.authLink { + font-size: 0.875rem; + font-weight: 500; + line-height: 1.5rem; + text-align: center; + color: var(--gary800); +} + +.authLink > a { + color: var(--blue); + text-decoration: underline; + padding-left: 4px; +} + +@media screen and (min-width: 768px) { + .authForm { + max-width: 100%; + width: 640px; + gap: 24px; + } + + .input { + gap: 16px; + } + + .authForm label { + font-size: 1.125rem; + line-height: 1.625rem; + } + + .authForm .authInput { + padding: 16px 24px; + } + + .button { + padding: 16px 124px; + margin-bottom: 0; + } + + .authForm > .otherAccount { + margin-bottom: 0; + } +} diff --git a/src/features/AuthForm/components/LoginForm.tsx b/src/features/AuthForm/components/LoginForm.tsx new file mode 100644 index 000000000..77901a600 --- /dev/null +++ b/src/features/AuthForm/components/LoginForm.tsx @@ -0,0 +1,101 @@ +import { ChangeEvent, useState, useEffect } from "react"; +import { Link } from "react-router-dom"; +import Input from "shared/components/Input"; +import styles from "./AuthForm.module.css"; +import hideIcon from "assets/images/btn_hide.svg"; +import kakaoIcon from "assets/images/ic_kakao.svg"; +import googleIcon from "assets/images/ic_google.svg"; +import Button from "shared/components/Button"; + +interface Values { + email: string; + password: string; +} + +const INITIAL_VALUES = { + email: "", + password: "", +}; + +const LoginForm = () => { + const [values, setValues] = useState(INITIAL_VALUES); + const [isDisabled, setIsDisabled] = useState(true); + + const handleChange = (name: string, value: string) => { + setValues((prevValues) => { + return { + ...prevValues, + [name]: value, + }; + }); + }; + + const handleInputChange = (e: ChangeEvent) => { + const { name, value } = e.target; + handleChange(name, value); + }; + + const checkFormEmpty = (values: Values) => { + return Object.values(values).some((value) => value === ""); + }; + + useEffect(() => { + setIsDisabled(checkFormEmpty(values)); + }, [values]); + + return ( +
+ + + + + 비밀번호 표시 + + + +
+ 간편 로그인하기 + +
+ + 판다마켓이 처음이신가요? + 회원가입 + +
+ ); +}; + +export default LoginForm; diff --git a/src/features/AuthForm/components/SignupForm.tsx b/src/features/AuthForm/components/SignupForm.tsx new file mode 100644 index 000000000..24bd9493d --- /dev/null +++ b/src/features/AuthForm/components/SignupForm.tsx @@ -0,0 +1,128 @@ +import { ChangeEvent, useState, useEffect } from "react"; +import { Link } from "react-router-dom"; +import Input from "shared/components/Input"; +import styles from "./AuthForm.module.css"; +import hideIcon from "assets/images/btn_hide.svg"; +import kakaoIcon from "assets/images/ic_kakao.svg"; +import googleIcon from "assets/images/ic_google.svg"; +import Button from "shared/components/Button"; + +interface Values { + email: string; + nickname: string; + password: string; + passwordCheck: string; +} + +const INITIAL_VALUES = { + email: "", + nickname: "", + password: "", + passwordCheck: "", +}; + +const SignupForm = () => { + const [values, setValues] = useState(INITIAL_VALUES); + const [isDisabled, setIsDisabled] = useState(true); + + const handleChange = (name: string, value: string) => { + setValues((prevValues) => { + return { + ...prevValues, + [name]: value, + }; + }); + }; + + const handleInputChange = (e: ChangeEvent) => { + const { name, value } = e.target; + handleChange(name, value); + }; + + const checkFormEmpty = (values: Values) => { + return Object.values(values).some((value) => value === ""); + }; + + useEffect(() => { + setIsDisabled(checkFormEmpty(values)); + }, [values]); + + return ( +
+ + + + + + + + 비밀번호 표시 + + + + 비밀번호 표시 + + + +
+ 간편 로그인하기 + +
+ + 이미 회원이신가요? + 로그인 + +
+ ); +}; + +export default SignupForm; diff --git a/src/features/Product/components/AuthorInfo.js b/src/features/Product/components/AuthorInfo.tsx similarity index 76% rename from src/features/Product/components/AuthorInfo.js rename to src/features/Product/components/AuthorInfo.tsx index cc063eb65..858754dea 100644 --- a/src/features/Product/components/AuthorInfo.js +++ b/src/features/Product/components/AuthorInfo.tsx @@ -1,7 +1,14 @@ import styles from "./AuthorInfo.module.css"; import profileIcon from "assets/images/ic_profile.svg"; -const AuthorInfo = ({ className, nickname, image, date }) => { +interface Props { + className?: string; + nickname: string; + image?: string; + date: string; +} + +const AuthorInfo = ({ className, nickname, image, date }: Props) => { return (
div { + gap: 4px; +} + +.authorInfo img { + width: 32px; + height: 32px; + border-radius: 50%; +} + +.authorInfo span { + font-size: 0.75rem; + font-weight: 400; + line-height: 1.125rem; +} + +.authorInfo time { + font-size: 0.75rem; + font-weight: 400; + line-height: 1.125rem; +} + +.dropdown ul { + width: 139px; + height: 92px; +} + +.dropdown li { + padding: 12px 0 8px; +} + +.dropdown li:last-child { + padding: 8px 0 12px; +} + +.dropdown button { + font-size: 1rem; + font-weight: 400; + line-height: 1.625rem; + color: var(--gray500); + text-align: center; +} diff --git a/src/features/Product/components/Comment.tsx b/src/features/Product/components/Comment.tsx new file mode 100644 index 000000000..0f30e2956 --- /dev/null +++ b/src/features/Product/components/Comment.tsx @@ -0,0 +1,46 @@ +import { timeAgo } from "shared/utils/formatDate"; +import Dropdown from "shared/components/Dropdown"; +import AuthorInfo from "./AuthorInfo"; +import styles from "./Comment.module.css"; +import kebabIcon from "assets/images/ic_kebab.svg"; + +interface Props { + content: string; + writer: { nickname: string; image: string }; + createdAt: string; + onSelect: (option: string) => void; +} + +const Comment = ({ content, writer, createdAt, onSelect }: Props) => { + const options = { + edit: "수정하기", + remove: "삭제하기", + }; + + return ( +
  • +
    +

    {content}

    + + 수정/삭제 드롭다운 보이기 + +
    + +
  • + ); +}; + +export default Comment; diff --git a/src/features/Product/components/Comments.js b/src/features/Product/components/Comments.js deleted file mode 100644 index b147db58d..000000000 --- a/src/features/Product/components/Comments.js +++ /dev/null @@ -1,118 +0,0 @@ -import { useState, useEffect, useCallback } from "react"; -import { getComments } from "../services/getProudct"; -import { timeAgo } from "utils/commonUtils"; -import Dropdown from "./Dropdown"; -import inquiryEmptyImg from "assets/images/img_inquiry_empty.svg"; -import styles from "./Comments.module.css"; -import AuthorInfo from "./AuthorInfo"; -import Textarea from "components/Textarea"; -import Button from "components/Button"; - -const Comments = ({ itemId }) => { - const [comments, setComments] = useState([]); - const [editingId, setEditingId] = useState(null); - const [isDisabled, setIsDisabled] = useState(false); - - const handleLoad = useCallback(async () => { - const { list } = await getComments(itemId); - setComments(list); - }, [itemId]); - - const handleSelect = (id, option) => { - if (option === "edit") { - setEditingId(id); - } - }; - - const handleCancel = () => { - setEditingId(null); - }; - - const handleTextareaChange = (event) => { - if (event.target.value !== "") { - setIsDisabled(false); - return; - } - - setIsDisabled(true); - }; - - useEffect(() => { - handleLoad(); - }, [handleLoad]); - - return ( -
    - {comments.length ? ( -
      - {comments.map(({ content, id, createdAt, writer }) => { - if (id === editingId) { - return ( -
    • - + defaultValue={value} + >
    ); }; diff --git a/src/components/XButton.module.css b/src/shared/components/XButton.module.css similarity index 100% rename from src/components/XButton.module.css rename to src/shared/components/XButton.module.css diff --git a/src/shared/components/XButton.tsx b/src/shared/components/XButton.tsx new file mode 100644 index 000000000..5fa5e215c --- /dev/null +++ b/src/shared/components/XButton.tsx @@ -0,0 +1,18 @@ +import { MouseEvent } from "react"; +import styles from "./XButton.module.css"; +import { ReactComponent as XIcon } from "assets/images/ic_x.svg"; + +interface Props { + className: string; + onClick: (e: MouseEvent) => void; +} + +const XButton = ({ className = "", onClick = () => {} }: Props) => { + return ( + + ); +}; + +export default XButton; diff --git a/src/shared/constants/message.ts b/src/shared/constants/message.ts new file mode 100644 index 000000000..c3dfa6b54 --- /dev/null +++ b/src/shared/constants/message.ts @@ -0,0 +1,11 @@ +export const INQUIRY_PLACEHOLDER = + "개인정보를 공유 및 요청하거나, 명예 훼손, 무단 광고, 불법 정보 유포시 모니터링 후 삭제될 수 있으며, 이에 대한 민형사상 책임은 게시자에게 있습니다."; + +export const VALIDATION_MESSAGE = { + REQUIRED_EMAIL: "이메일을 입력해주세요", + INVALID_EMAIL: "잘못된 이메일 형식입니다.", + REQUIRED_PASSWORD: "비밀번호를 입력해주세요.", + WEEK_PASSWORD: "비밀번호를 8자 이상 입력해주세요.", + MISMATCHED_PASSWORD: "비밀번호가 일치하지 않습니다.", + REQUIRED_NICKNAME: "닉네임을 입력해주세요.", +}; diff --git a/src/constants/responsiveConstants.js b/src/shared/constants/responsiveConstants.ts similarity index 73% rename from src/constants/responsiveConstants.js rename to src/shared/constants/responsiveConstants.ts index 73bc4684d..86d99c18d 100644 --- a/src/constants/responsiveConstants.js +++ b/src/shared/constants/responsiveConstants.ts @@ -7,23 +7,23 @@ const PRODUCT_LIST_MOBILE = 4; const PRODUCT_LIST_TABLET = 6; const PRODUCT_LIST_DESKTOP = 10; -export const getResponsiveConstant = (width) => { +export const getResponsiveConstant = (width: number) => { if (width < BREAKPOINT_TABLET) { return { - bestProudctsSize: BEST_PRODUCTS_MOBILE, + bestProductsSize: BEST_PRODUCTS_MOBILE, productListSize: PRODUCT_LIST_MOBILE, }; } if (width < BREAKPOINT_DESKTOP) { return { - bestProudctsSize: BEST_PRODUCTS_TABLET, + bestProductsSize: BEST_PRODUCTS_TABLET, productListSize: PRODUCT_LIST_TABLET, }; } return { - bestProudctsSize: BEST_PRODUCTS_DESKTOP, + bestProductsSize: BEST_PRODUCTS_DESKTOP, productListSize: PRODUCT_LIST_DESKTOP, }; }; diff --git a/src/constants/api.js b/src/shared/constants/url.ts similarity index 100% rename from src/constants/api.js rename to src/shared/constants/url.ts diff --git a/src/components/Header.module.css b/src/shared/layouts/Header.module.css similarity index 100% rename from src/components/Header.module.css rename to src/shared/layouts/Header.module.css diff --git a/src/components/Header.js b/src/shared/layouts/Header.tsx similarity index 86% rename from src/components/Header.js rename to src/shared/layouts/Header.tsx index d8f4d9751..ad1d0fd6f 100644 --- a/src/components/Header.js +++ b/src/shared/layouts/Header.tsx @@ -6,10 +6,8 @@ import profileImg from "assets/images/ic_profile.svg"; const Header = () => { const location = useLocation(); - const isActiveForItem = - location.pathname === "/items" || location.pathname === "/additem" - ? styles.active - : ""; + const isActiveForItem = ({ isActive }: { isActive: boolean }) => + isActive || location.pathname === "/additem" ? styles.active : ""; return (
    diff --git a/src/layouts/MainLayout.js b/src/shared/layouts/MainLayout.tsx similarity index 82% rename from src/layouts/MainLayout.js rename to src/shared/layouts/MainLayout.tsx index 8304e6e55..540a9b44a 100644 --- a/src/layouts/MainLayout.js +++ b/src/shared/layouts/MainLayout.tsx @@ -1,5 +1,5 @@ import { Outlet } from "react-router-dom"; -import Header from "../components/Header"; +import Header from "./Header"; const MainLayout = () => { return ( diff --git a/src/shared/services/fetchData.ts b/src/shared/services/fetchData.ts new file mode 100644 index 000000000..9fd76cf64 --- /dev/null +++ b/src/shared/services/fetchData.ts @@ -0,0 +1,37 @@ +import { createURLSearchParams } from "shared/utils/urlParams"; + +type FetchOptions = { + query?: Record; + method?: "GET" | "POST" | "PUT" | "DELETE"; + headers?: Record; + body?: unknown; +}; + +export const fetchData = async (url: string, options: FetchOptions = {}) => { + try { + let fullUrl = url; + + if (options.query) { + const queryString = createURLSearchParams(options.query).toString(); + fullUrl += `?${queryString}`; + } + + const response = await fetch(fullUrl, { + method: options.method || "GET", + headers: { + "Content-Type": "application/json", + ...(options.headers || {}), + }, + body: options.body ? JSON.stringify(options.body) : null, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + const body = await response.json(); + return body; + } catch (error) { + throw error; + } +}; diff --git a/src/shared/types/components.ts b/src/shared/types/components.ts new file mode 100644 index 000000000..fb2adbf34 --- /dev/null +++ b/src/shared/types/components.ts @@ -0,0 +1,11 @@ +export interface Options { + [key: string]: string; +} + +export interface Product { + id: number; + images: string[]; + name: string; + price: number; + favoriteCount: number; +} diff --git a/src/shared/utils/commonUtils.ts b/src/shared/utils/commonUtils.ts new file mode 100644 index 000000000..09dbe3afe --- /dev/null +++ b/src/shared/utils/commonUtils.ts @@ -0,0 +1,7 @@ +export const checkObjectIsEmpty = (obj: Record): boolean => + Object.keys(obj).length === 0 && obj.constructor === Object; + +export const checkEmailValid = (email: string) => { + const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + return regex.test(email); +}; diff --git a/src/utils/commonUtils.js b/src/shared/utils/formatDate.ts similarity index 70% rename from src/utils/commonUtils.js rename to src/shared/utils/formatDate.ts index 02b24ad9c..deafa849c 100644 --- a/src/utils/commonUtils.js +++ b/src/shared/utils/formatDate.ts @@ -1,14 +1,11 @@ -export const checkObjectIsEmpty = (obj) => - Object.keys(obj).length === 0 && obj.constructor === Object; - -export const formatDate = (date) => +export const formatDate = (date: string) => new Date(date).toLocaleDateString("ko-kr", { year: "numeric", month: "2-digit", day: "2-digit", }); -export const formatDateWithTime = (date) => +export const formatDateWithTime = (date: string) => new Date(date).toLocaleDateString("ko-kr", { year: "numeric", month: "2-digit", @@ -18,10 +15,10 @@ export const formatDateWithTime = (date) => hour12: true, }); -export const timeAgo = (date) => { - const now = new Date(); - const past = new Date(date); - const diffMs = now - past; +export const timeAgo = (date: string) => { + const now: Date = new Date(); + const past: Date = new Date(date); + const diffMs = now.getTime() - past.getTime(); const diffSec = Math.floor(diffMs / 1000); const minute = 60; diff --git a/src/shared/utils/urlParams.ts b/src/shared/utils/urlParams.ts new file mode 100644 index 000000000..4a3adbd5c --- /dev/null +++ b/src/shared/utils/urlParams.ts @@ -0,0 +1,11 @@ +export const createURLSearchParams = ( + params: Record +): URLSearchParams => { + const stringifiedParams: Record = {}; + + for (const key in params) { + stringifiedParams[key] = String(params[key]); + } + + return new URLSearchParams(stringifiedParams); +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..5452a6dc0 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "baseUrl": "src" + }, + "include": ["src"] +}