From 9ea0611db65ee8bedf11cd42c7befed7ba90d590 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Thu, 2 Jan 2025 20:00:13 +0900 Subject: [PATCH 01/16] =?UTF-8?q?fix:=20=EA=B0=95=EC=A0=90=20=ED=82=A4?= =?UTF-8?q?=EC=9B=8C=EB=93=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=84=9C?= =?UTF-8?q?=EB=B2=84=20=EC=9D=91=EB=8B=B5=20=ED=98=95=EC=8B=9D=EA=B3=BC=20?= =?UTF-8?q?=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mocks/mockData/detailedReviewMockData.ts | 12 +- .../src/mocks/mockData/reviewListMockData.ts | 144 ++++++++++++------ 2 files changed, 106 insertions(+), 50 deletions(-) diff --git a/frontend/src/mocks/mockData/detailedReviewMockData.ts b/frontend/src/mocks/mockData/detailedReviewMockData.ts index 919428f5c..8364d99d0 100644 --- a/frontend/src/mocks/mockData/detailedReviewMockData.ts +++ b/frontend/src/mocks/mockData/detailedReviewMockData.ts @@ -26,8 +26,16 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { minCount: 1, maxCount: 2, options: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ', isChecked: true }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ', isChecked: false }, + { + optionId: 1, + content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)', + isChecked: true, + }, + { + optionId: 2, + content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)', + isChecked: false, + }, ], }, }, diff --git a/frontend/src/mocks/mockData/reviewListMockData.ts b/frontend/src/mocks/mockData/reviewListMockData.ts index 8f9986c3d..7d73abd0c 100644 --- a/frontend/src/mocks/mockData/reviewListMockData.ts +++ b/frontend/src/mocks/mockData/reviewListMockData.ts @@ -10,8 +10,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2024-07-24', contentPreview: `1. ๋‚˜๋Š” ์งง์€ ๋ฐ์ดํ„ฐ`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, ], }, { @@ -19,8 +23,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2023-08-29', contentPreview: `2. ์ „ํ•ด์ฃผ๊ณ  ์‹ถ์–ด ์Šฌํ”ˆ ์‹œ๊ฐ„์ด ๋‹ค ํฉ์–ด์ง„ ํ›„์—์•ผ ๋“ค๋ฆฌ์ง€๋งŒ ๋ˆˆ์„ ๊ฐ๊ณ  ๋Š๊ปด๋ด ์›€์ง์ด๋Š” ๋งˆ์Œ ๋„ˆ๋ฅผ ํ–ฅํ•œ ๋‚ด ๋ˆˆ๋น›์„ ํŠน๋ณ„ํ•œ ๊ธฐ์ ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€๋งˆ ๋ˆˆ ์•ž์—์„  ์šฐ๋ฆฌ์˜ ๊ฑฐ์นœ ๊ธธ์€ ์•Œ ์ˆ˜ ์—†๋Š” ๋ฏธ๋ž˜์™€ ๋ฒฝ ๋ฐ”๊พธ์ง€ ์•Š์•„ ํฌ๊ธฐํ•  ์ˆ˜ ์—†์–ด ๋ณ€์น˜ ์•Š์„ ์‚ฌ๋ž‘์œผ๋กœ ์ง€์ผœ์ค˜ ์ƒ์ฒ˜ ์ž…์€ ๋‚ด ๋ง˜๊นŒ์ง€ ์‹œ์„  ์†์—์„œ ๋ง์€ ํ•„์š” ์—†์–ด ๋ฉˆ์ถฐ์ ธ ๋ฒ„๋ฆฐ ์ด ์‹œ๊ฐ„ ์‚ฌ๋ž‘ํ•ด ๋„ ์ด ๋Š๋‚Œ ์ด๋Œ€๋กœ ๊ทธ๋ ค์™”๋˜ ํ—ค๋งค์ž„์˜ ๋ ์ด ์„ธ์ƒ ์†์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ์Šฌํ”” ์ด์   ์•ˆ๋…• ์ˆ˜๋งŽ์€ ์•Œ ์ˆ˜ ์—†๋Š” ๊ธธ ์†์— ํฌ๋ฏธํ•œ ๋น›์„ ๋‚œ ์ซ“์•„๊ฐ€ ์–ธ์ œ๊นŒ์ง€๋ผ๋„ ํ•จ๊ป˜ ํ•˜๋Š”๊ฑฐ์•ผ ๋‹ค์‹œ ๋งŒ๋‚œ ๋‚˜์˜ ์„ธ๊ณ„`, categories: [ - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, - { optionId: 4, content: '๐Ÿค“ ๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, + { optionId: 4, content: '๐Ÿ’ป๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹ (์˜ˆ: ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -41,8 +45,12 @@ export const REVIEW_LIST: ReviewList = { Disco overload I'm into that I'm good to go `, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, { @@ -61,8 +69,8 @@ export const REVIEW_LIST: ReviewList = { ์•„๋ฌด ๊ฑฑ์ •๋„ ํ•˜์ง€๋Š” ๋งˆ, ๋‚˜์—๊ฒŒ ๋‹ค ๋งก๊ฒจ ๋ด `, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -80,8 +88,8 @@ export const REVIEW_LIST: ReviewList = { That tick, that tick, tick bomb `, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -95,8 +103,12 @@ export const REVIEW_LIST: ReviewList = { Ooh-ooh, ooh-ooh, lalalala-lalala `, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, { @@ -104,8 +116,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `7. ๋‚˜๋Š” ์งง์€ ๋ฐ์ดํ„ฐ`, categories: [ - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -113,8 +125,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `8. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 4, content: '๐Ÿค“ ๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹' }, - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, + { optionId: 4, content: '๐Ÿ’ป๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹ (์˜ˆ: ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ)' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, ], }, { @@ -122,8 +138,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `9. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -131,8 +151,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `10. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, ], }, { @@ -140,8 +160,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `11. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -149,8 +169,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `12. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 4, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 4, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, { @@ -158,8 +182,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2024-07-24', contentPreview: `13. ๋ฌผ๋ก  ์‹œ์ค‘์— ์ถœ๊ฐ„๋˜์–ด ์žˆ๋Š” ์ฑ…๋“ค๋กœ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ํฐ ์žฅ์ ์ด์ง€๋งŒ ๋” ๊นŠ์€ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์—, ์ € ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์œผ๋กœ๋Š” ์–ธ์–ด ๊ณต๋ถ€๋ฅผ ์•„์˜ˆ ์ฒ˜์Œ ์ž…๋ฌธํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ ํ•œ๊ตญ์—์„œ ์ถœ๊ฐ„๋œ ๊ฐœ๋ฐœ ์„œ์ ์œผ๋กœ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์‹œ๋‹ค๊ฐ€ ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด.....`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, ], }, { @@ -167,8 +195,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2023-08-29', contentPreview: `14. ํ•˜๋ฃจ์Šคํ„ฐ๋””๋Š” ํšจ์œจ์ ์ธ ๊ณต๋ถ€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํ•™์Šต ์ง„ํ–‰ ๋„๊ตฌ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํ•˜๋ฃจ์Šคํ„ฐ๋””๋Š” ๋ชฉํ‘œ ์„ค์ • ๋‹จ๊ณ„, ํ•™์Šต ๋‹จ๊ณ„, ํšŒ๊ณ  ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ํ•™์Šต ์‚ฌ์ดํด์„ ํ†ตํ•ด ํ•™์Šต ํšจ์œจ์„ ๋Œ์–ด์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜๋ฃจ์Šคํ„ฐ๋””๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด 'ํ•™์Šต์„ ์ž˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•'์— ๋Œ€ํ•ด์„œ...`, categories: [ - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, - { optionId: 4, content: '๐Ÿค“ ๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, + { optionId: 4, content: '๐Ÿ’ป๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹ (์˜ˆ: ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -176,8 +204,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `15. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, { @@ -185,8 +217,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `16. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -194,8 +226,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `17. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -203,8 +235,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `18. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, { @@ -212,8 +248,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `19. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -221,8 +257,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `20. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 4, content: '๐Ÿค“ ๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹' }, - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, + { optionId: 4, content: '๐Ÿ’ป๊ธฐ์ˆ ์  ์—ญ๋Ÿ‰, ์ „๋ฌธ ์ง€์‹ (์˜ˆ: ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ)' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, ], }, { @@ -230,8 +270,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `21. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 5, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { + optionId: 5, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -239,8 +283,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `22. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 3, content: 'โฐ ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 3, content: 'โฐ์‹œ๊ฐ„ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ (์˜ˆ: ์ผ์ •๊ณผ ๋งˆ๊ฐ ๊ธฐํ•œ ์ค€์ˆ˜, ์—…๋ฌด์˜ ์šฐ์„  ์ˆœ์œ„ ๋ถ„๋ฐฐ)' }, ], }, { @@ -248,8 +292,8 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `23. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, - { optionId: 2, content: '๐Ÿ’ก ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ' }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, + { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)' }, ], }, { @@ -257,8 +301,12 @@ export const REVIEW_LIST: ReviewList = { createdAt: '2021-08-01', contentPreview: `24. ๊ณต๊ฐ„์„ ํ•œ ๋ˆˆ์—, ์˜ˆ์•ฝ์€ ํ•œ ๋ฒˆ์—! ๋งž์ถคํ˜• ๊ณต๊ฐ„์˜ˆ์•ฝ ์„œ๋น„์Šค ์ œ์ž‘ ํ”Œ๋žซํผ ์ฐœ๊ฝ์ž…๋‹ˆ๋‹ค! ๊ณต๊ฐ„ ์ œ๊ณต์ž(๊ด€๋ฆฌ์ž)๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ์ƒ์„ฑํ•œ ๊ณต๊ฐ„์€ ๋งํฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ณต๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝ์„...`, categories: [ - { optionId: 4, content: '๐ŸŒฑ ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹' }, - { optionId: 1, content: '๐Ÿ—ฃ๏ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ' }, + { + optionId: 4, + content: + '๐ŸŒฑ์„ฑ์žฅ ๋งˆ์ธ๋“œ์…‹ (์˜ˆ: ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋‚˜ ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„์•ผ์— ๋„์ „ํ•˜๋Š” ๋งˆ์Œ, ๊พธ์ค€ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ด์ „๋ณด๋‹ค ์„ฑ์žฅํ•˜๋Š” ๋ชจ์Šต)', + }, + { optionId: 1, content: '๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ํ˜‘์—… ๋Šฅ๋ ฅ (์˜ˆ: ํŒ€์›๊ฐ„์˜ ์›ํ™œํ•œ ์ •๋ณด ๊ณต์œ , ๋ช…ํ™•ํ•œ ์˜์‚ฌ์†Œํ†ต)' }, ], }, ], From 46488a1e49790d2b327d8ba114750922092d555a Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Thu, 2 Jan 2025 22:05:23 +0900 Subject: [PATCH 02/16] =?UTF-8?q?feat:=20StrengthKeywordList=20=EC=BB=B4?= =?UTF-8?q?=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReviewCard/StrengthKeywordList/index.tsx | 32 +++++++++++++++++++ .../ReviewCard/StrengthKeywordList/styles.ts | 25 +++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx create mode 100644 frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts diff --git a/frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx b/frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx new file mode 100644 index 000000000..bd601cb10 --- /dev/null +++ b/frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx @@ -0,0 +1,32 @@ +import { Category } from '@/types'; + +import * as S from './styles'; + +interface StrengthKeywordProps { + categories: Category[]; +} + +const StrengthKeywordList = ({ categories }: StrengthKeywordProps) => { + const formattedCategories = categories.map((category) => { + // ์นดํ…Œ๊ณ ๋ฆฌ ๋‚ด์šฉ์—์„œ '(์˜ˆ: ' ์•ž๋ถ€๋ถ„๋งŒ ์ถ”์ถœ + const contentWithoutExample = Array.from(category.content.split(' (์˜ˆ: ')[0]); + + const emoji = contentWithoutExample.shift(); + const keyword = contentWithoutExample.join(''); + + return { + optionId: category.optionId, + content: `${emoji} ${keyword}`, + }; + }); + + return ( + + {formattedCategories.map((category) => ( + {category.content} + ))} + + ); +}; + +export default StrengthKeywordList; diff --git a/frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts b/frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts new file mode 100644 index 000000000..89f4ac6f6 --- /dev/null +++ b/frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts @@ -0,0 +1,25 @@ +import styled from '@emotion/styled'; + +import media from '@/utils/media'; + +export const KeywordList = styled.div` + display: flex; + flex-wrap: wrap; + gap: 2.5rem; + align-items: center; + + font-size: 1.2rem; + + ${media.small} { + gap: 1.2rem; + } +`; + +export const KeywordItem = styled.span` + padding: 0.5rem 2rem; + background-color: ${({ theme }) => theme.colors.lightPurple}; + border-radius: 1.4rem; + + color: ${({ theme }) => theme.colors.primary}; + font-weight: ${({ theme }) => theme.fontWeight.semibold}; +`; From 7ff2091470fdb85e112131e0c093c3f61c7b861c Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Thu, 2 Jan 2025 22:08:58 +0900 Subject: [PATCH 03/16] =?UTF-8?q?refactor:=20ReviewCard=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=20=EC=9C=84=EC=B9=98=20=EC=9D=B4=EB=8F=99=20=EB=B0=8F?= =?UTF-8?q?=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReviewCard/StrengthKeywordList/index.tsx | 0 .../ReviewCard/StrengthKeywordList/styles.ts | 0 .../{ => common}/ReviewCard/index.tsx | 9 ++-- .../{ => common}/ReviewCard/styles.ts | 44 ++++++------------- .../ReviewListPageContents/index.tsx | 2 +- 5 files changed, 18 insertions(+), 37 deletions(-) rename frontend/src/components/{ => common}/ReviewCard/StrengthKeywordList/index.tsx (100%) rename frontend/src/components/{ => common}/ReviewCard/StrengthKeywordList/styles.ts (100%) rename frontend/src/components/{ => common}/ReviewCard/index.tsx (72%) rename frontend/src/components/{ => common}/ReviewCard/styles.ts (58%) diff --git a/frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx b/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx similarity index 100% rename from frontend/src/components/ReviewCard/StrengthKeywordList/index.tsx rename to frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx diff --git a/frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts b/frontend/src/components/common/ReviewCard/StrengthKeywordList/styles.ts similarity index 100% rename from frontend/src/components/ReviewCard/StrengthKeywordList/styles.ts rename to frontend/src/components/common/ReviewCard/StrengthKeywordList/styles.ts diff --git a/frontend/src/components/ReviewCard/index.tsx b/frontend/src/components/common/ReviewCard/index.tsx similarity index 72% rename from frontend/src/components/ReviewCard/index.tsx rename to frontend/src/components/common/ReviewCard/index.tsx index 92baf19a9..359dd184d 100644 --- a/frontend/src/components/ReviewCard/index.tsx +++ b/frontend/src/components/common/ReviewCard/index.tsx @@ -1,5 +1,6 @@ import { Category } from '@/types'; +import StrengthKeywordList from './StrengthKeywordList'; import * as S from './styles'; interface ReviewCardProps { @@ -13,16 +14,12 @@ const ReviewCard = ({ createdAt, contentPreview, categories, handleClick }: Revi return ( - {createdAt} + {`์ž‘์„ฑ์ผ | ${createdAt}`} {contentPreview} - - {categories.map((category) => ( -
{category.content}
- ))} -
+
diff --git a/frontend/src/components/ReviewCard/styles.ts b/frontend/src/components/common/ReviewCard/styles.ts similarity index 58% rename from frontend/src/components/ReviewCard/styles.ts rename to frontend/src/components/common/ReviewCard/styles.ts index 5d333823e..133526f91 100644 --- a/frontend/src/components/ReviewCard/styles.ts +++ b/frontend/src/components/common/ReviewCard/styles.ts @@ -5,15 +5,15 @@ import media from '@/utils/media'; export const Layout = styled.div` display: flex; flex-direction: column; - border: 0.1rem solid ${({ theme }) => theme.colors.lightGray}; + border: 0.2rem solid ${({ theme }) => theme.colors.lightGray}; border-radius: 1rem; &:hover { cursor: pointer; - border: 0.15rem solid ${({ theme }) => theme.colors.primaryHover}; + border: 0.2rem solid ${({ theme }) => theme.colors.primaryHover}; - & > div:first-of-type { - background-color: ${({ theme }) => theme.colors.lightPurple}; + & > div { + background-color: ${({ theme }) => theme.colors.palePurple}; } } `; @@ -23,16 +23,16 @@ export const Header = styled.div` align-items: center; width: 100%; - height: 3.8rem; - background-color: ${({ theme }) => theme.colors.lightGray}; + padding: 2rem 0 0 2.5rem; + border-radius: 1rem 1rem 0 0; `; export const Date = styled.p` height: fit-content; - padding: 0 3rem; - font-size: 1.3rem; + + color: ${({ theme }) => theme.colors.gray}; `; export const Main = styled.div` @@ -41,9 +41,11 @@ export const Main = styled.div` gap: 2rem; width: 100%; - padding: 2rem 3rem; + padding: 2rem 2.5rem; font-size: 1.6rem; + + border-radius: 0 0 1rem 1rem; `; export const ContentPreview = styled.p` @@ -52,10 +54,11 @@ export const ContentPreview = styled.p` -webkit-box-orient: vertical; -webkit-line-clamp: 3; - height: 6rem; + height: 7.5rem; padding-right: 2rem; - line-height: 2rem; + line-height: 2.5rem; + text-overflow: ellipsis; overflow-wrap: break-word; `; @@ -72,22 +75,3 @@ export const Footer = styled.div` align-items: flex-start; } `; - -export const Keyword = styled.div` - display: flex; - flex-wrap: wrap; - gap: 2.5rem; - align-items: center; - - font-size: 1.4rem; - - ${media.small} { - gap: 1.2rem; - } - - div { - padding: 0.5rem 3rem; - background-color: ${({ theme }) => theme.colors.lightPurple}; - border-radius: 0.8rem; - } -`; diff --git a/frontend/src/pages/ReviewListPage/components/ReviewListPageContents/index.tsx b/frontend/src/pages/ReviewListPage/components/ReviewListPageContents/index.tsx index 172242ad0..3d8f11597 100644 --- a/frontend/src/pages/ReviewListPage/components/ReviewListPageContents/index.tsx +++ b/frontend/src/pages/ReviewListPage/components/ReviewListPageContents/index.tsx @@ -2,9 +2,9 @@ import { useContext } from 'react'; import { useNavigate } from 'react-router'; import { ReviewEmptySection } from '@/components'; +import ReviewCard from '@/components/common/ReviewCard'; import UndraggableWrapper from '@/components/common/UndraggableWrapper'; import { ReviewInfoDataContext } from '@/components/layouts/ReviewDisplayLayout/ReviewInfoDataProvider'; -import ReviewCard from '@/components/ReviewCard'; import { REVIEW_EMPTY } from '@/constants'; import { ROUTE } from '@/constants/route'; import { useGetReviewList, useSearchParamAndQuery } from '@/hooks'; From 42bd98f5e7ec83644f789d1a073086f46309e336 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Thu, 2 Jan 2025 23:18:01 +0900 Subject: [PATCH 04/16] =?UTF-8?q?refactor:=20formattedCategories=20?= =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=9C=A0=ED=8B=B8=EB=A1=9C=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC=20=EB=B0=8F=20=EB=AA=A9=EB=A1=9D,=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReviewCard/StrengthKeywordList/index.tsx | 16 +++------------- .../src/mocks/mockData/detailedReviewMockData.ts | 2 +- .../components/KeywordSection/index.tsx | 5 ++++- frontend/src/utils/formattedCategories.ts | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 frontend/src/utils/formattedCategories.ts diff --git a/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx b/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx index bd601cb10..51288bd24 100644 --- a/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx +++ b/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx @@ -1,4 +1,5 @@ import { Category } from '@/types'; +import formattedCategories from '@/utils/formattedCategories'; import * as S from './styles'; @@ -7,22 +8,11 @@ interface StrengthKeywordProps { } const StrengthKeywordList = ({ categories }: StrengthKeywordProps) => { - const formattedCategories = categories.map((category) => { - // ์นดํ…Œ๊ณ ๋ฆฌ ๋‚ด์šฉ์—์„œ '(์˜ˆ: ' ์•ž๋ถ€๋ถ„๋งŒ ์ถ”์ถœ - const contentWithoutExample = Array.from(category.content.split(' (์˜ˆ: ')[0]); - - const emoji = contentWithoutExample.shift(); - const keyword = contentWithoutExample.join(''); - - return { - optionId: category.optionId, - content: `${emoji} ${keyword}`, - }; - }); + const transformedCategories = formattedCategories(categories); return ( - {formattedCategories.map((category) => ( + {transformedCategories.map((category) => ( {category.content} ))} diff --git a/frontend/src/mocks/mockData/detailedReviewMockData.ts b/frontend/src/mocks/mockData/detailedReviewMockData.ts index 8364d99d0..db8e92858 100644 --- a/frontend/src/mocks/mockData/detailedReviewMockData.ts +++ b/frontend/src/mocks/mockData/detailedReviewMockData.ts @@ -34,7 +34,7 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { { optionId: 2, content: '๐Ÿ’ก๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์˜ˆ: ํ”„๋กœ์ ํŠธ ์ค‘ ๋งŒ๋‚œ ๋ฒ„๊ทธ/์˜ค๋ฅ˜๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋Šฅ๋ ฅ)', - isChecked: false, + isChecked: true, }, ], }, diff --git a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx index 7c9572616..050857f1b 100644 --- a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx @@ -1,4 +1,5 @@ import { Options } from '@/types'; +import formattedCategories from '@/utils/formattedCategories'; import * as S from './styles'; @@ -7,10 +8,12 @@ interface KeywordSectionProps { } const KeywordSection = ({ options }: KeywordSectionProps) => { + const transformedOptions = formattedCategories(options); + return ( - {options.map(({ optionId, content }) => ( + {transformedOptions.map(({ optionId, content }) => ( {content} ))} diff --git a/frontend/src/utils/formattedCategories.ts b/frontend/src/utils/formattedCategories.ts new file mode 100644 index 000000000..629317a24 --- /dev/null +++ b/frontend/src/utils/formattedCategories.ts @@ -0,0 +1,14 @@ +const formattedCategories = (categories: T[]) => { + return categories.map((category) => { + const contentWithoutExample = Array.from(category.content.split(' (์˜ˆ: ')[0]); + const emoji = contentWithoutExample.shift(); + const keyword = contentWithoutExample.join(''); + + return { + optionId: category.optionId, + content: `${emoji} ${keyword}`, + }; + }); +}; + +export default formattedCategories; From 3db57738330f737cf39ed5503995e7ab11b256d1 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Thu, 2 Jan 2025 23:51:47 +0900 Subject: [PATCH 05/16] =?UTF-8?q?refactor:=20=EC=9E=91=EC=84=B1=EC=9D=BC?= =?UTF-8?q?=20=ED=91=9C=EC=8B=9C=20=EB=B0=A9=EC=8B=9D=EC=9D=84=20ReviewDat?= =?UTF-8?q?e=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A5=BC=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/common/ReviewCard/index.tsx | 6 ++++- .../components/common/ReviewDate/index.tsx | 9 ++----- .../components/common/ReviewDate/styles.ts | 24 ++++--------------- .../components/ReviewDescription/index.tsx | 2 +- 4 files changed, 12 insertions(+), 29 deletions(-) diff --git a/frontend/src/components/common/ReviewCard/index.tsx b/frontend/src/components/common/ReviewCard/index.tsx index 359dd184d..a7acac46a 100644 --- a/frontend/src/components/common/ReviewCard/index.tsx +++ b/frontend/src/components/common/ReviewCard/index.tsx @@ -1,5 +1,7 @@ import { Category } from '@/types'; +import ReviewDate from '../ReviewDate'; + import StrengthKeywordList from './StrengthKeywordList'; import * as S from './styles'; @@ -11,10 +13,12 @@ interface ReviewCardProps { } const ReviewCard = ({ createdAt, contentPreview, categories, handleClick }: ReviewCardProps) => { + const date = new Date(createdAt); + return ( - {`์ž‘์„ฑ์ผ | ${createdAt}`} + {contentPreview} diff --git a/frontend/src/components/common/ReviewDate/index.tsx b/frontend/src/components/common/ReviewDate/index.tsx index 8c86290cc..35cb5f871 100644 --- a/frontend/src/components/common/ReviewDate/index.tsx +++ b/frontend/src/components/common/ReviewDate/index.tsx @@ -1,4 +1,3 @@ -import ClockIcon from '@/assets/clock.svg'; import { formatDate } from '@/utils'; import * as S from './styles'; @@ -10,15 +9,11 @@ export interface ReviewDateProps { const ReviewDate = ({ date, dateTitle }: ReviewDateProps) => { const { year, month, day } = formatDate(date); + return ( - - - {dateTitle} - : - - {year}-{month}-{day} + {dateTitle} | {year}-{month}-{day} ); diff --git a/frontend/src/components/common/ReviewDate/styles.ts b/frontend/src/components/common/ReviewDate/styles.ts index 6af512685..0b666b79c 100644 --- a/frontend/src/components/common/ReviewDate/styles.ts +++ b/frontend/src/components/common/ReviewDate/styles.ts @@ -2,31 +2,15 @@ import styled from '@emotion/styled'; import media from '@/utils/media'; -export const ReviewDateText = styled.div` - display: inline-flex; - align-items: center; - justify-content: center; - - ${media.small} { - display: none; - } -`; - -export const ClockImg = styled.img` - width: auto; - height: 1.6rem; - margin-right: 0.8rem; -`; - export const ReviewDate = styled.div` display: flex; align-items: center; + span { + color: ${({ theme }) => theme.colors.gray}; + } + ${media.xSmall} { font-size: ${({ theme }) => theme.fontSize.small}; } `; - -export const Colon = styled.span` - margin: 0 1rem; -`; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx index ed4e721b8..72dc2f745 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx @@ -2,7 +2,7 @@ import ReviewDate, { ReviewDateProps } from '@/components/common/ReviewDate'; import * as S from './styles'; -const DATE_TITLE = '๋ฆฌ๋ทฐ ์ž‘์„ฑ์ผ'; +const DATE_TITLE = '์ž‘์„ฑ์ผ'; interface ReviewDescriptionProps extends Omit { projectName: string; From 2078ac0a521625d84c06070fd8a842798a0d3d8a Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Fri, 3 Jan 2025 00:30:39 +0900 Subject: [PATCH 06/16] =?UTF-8?q?design:=20=EC=83=81=EC=84=B8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailedReviewPageContents/index.tsx | 19 +++++++++------- .../DetailedReviewPageContents/styles.ts | 22 +++++++++++++++---- .../components/KeywordSection/index.tsx | 2 +- .../components/KeywordSection/styles.ts | 8 +++---- .../components/ReviewDescription/styles.ts | 3 --- .../components/ReviewSection/styles.ts | 8 +++++-- .../components/ReviewSectionHeader/styles.ts | 4 +--- 7 files changed, 41 insertions(+), 25 deletions(-) diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx index cef4b9e72..834385207 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx @@ -56,14 +56,17 @@ const DetailedReviewPageContents = () => { isPublic={true} handleClickToggleButton={() => console.log('click toggle ')} /> - {parsedDetailedReview.sections.map((section) => - section.questions.map((question) => ( - - - {question.questionType === 'CHECKBOX' && } - - )), - )} + + + {parsedDetailedReview.sections.map((section) => + section.questions.map((question) => ( + + + {question.questionType === 'CHECKBOX' && } + + )), + )} + ); }; diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts index 6acc796b6..c2547488c 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts @@ -5,9 +5,12 @@ import media from '@/utils/media'; export const DetailedReviewPageContents = styled.div` width: 70%; margin-top: 2rem; - border: 0.1rem solid ${({ theme }) => theme.colors.lightPurple}; + border: 0.2rem solid ${({ theme }) => theme.colors.lightGray}; + border-radius: ${({ theme }) => theme.borderRadius.basic}; + padding: 2rem 3rem; + ${media.medium} { width: 80%; } @@ -17,10 +20,21 @@ export const DetailedReviewPageContents = styled.div` } `; -export const ReviewContentContainer = styled.div` - margin-bottom: 7rem; - padding: 0 4rem; +export const Separator = styled.div` + width: 100%; + height: 0.3rem; + background-color: ${({ theme }) => theme.colors.disabled}; + margin: 3rem 0; +`; +export const DetailedReviewContainer = styled.div` + display: flex; + flex-direction: column; + + gap: 4rem; +`; + +export const ReviewContentContainer = styled.div` ${media.xSmall} { padding: 0 2rem; } diff --git a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx index 050857f1b..d838f384d 100644 --- a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx @@ -14,7 +14,7 @@ const KeywordSection = ({ options }: KeywordSectionProps) => { {transformedOptions.map(({ optionId, content }) => ( - {content} +
  • {content}
  • ))}
    diff --git a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts index 09f7c695e..10e51c927 100644 --- a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts @@ -6,10 +6,10 @@ export const KeywordSection = styled.section` `; export const KeywordList = styled.ul` - padding-left: 2rem; + padding-left: 4rem; list-style-type: disc; -`; -export const KeywordItem = styled.li` - margin-bottom: 0.5rem; + display: flex; + flex-direction: column; + gap: 0.5rem; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts index e6cfa2323..1efd90a21 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts @@ -9,9 +9,7 @@ export const Description = styled.section` width: 100%; margin: 0; - padding: 1rem 3rem; - background-color: ${({ theme }) => theme.colors.lightPurple}; border-radius: ${({ theme }) => theme.borderRadius.basic} ${({ theme }) => theme.borderRadius.basic} 0 0; ${media.xSmall} { @@ -31,7 +29,6 @@ export const ProjectInfoContainer = styled.div` justify-content: flex-start; width: 100%; - margin: 0 1rem; `; export const ProjectName = styled.p` diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts index eb8917aa8..c6f53968e 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts @@ -2,7 +2,11 @@ import styled from '@emotion/styled'; export const ReviewSection = styled.section` width: 100%; - margin-top: 3.2rem; + + display: flex; + flex-direction: column; + + gap: 2rem; `; export const Answer = styled.div` @@ -10,7 +14,7 @@ export const Answer = styled.div` box-sizing: border-box; width: 100%; - height: 23rem; + height: 20rem; padding: 1rem 1.5rem; font-size: 1.6rem; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts index 517c62e27..117dcfb33 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts @@ -1,7 +1,5 @@ import styled from '@emotion/styled'; export const ReviewSectionHeader = styled.p` - margin-bottom: 1rem; - font-size: 1.6rem; - font-weight: bold; + font-weight: ${({ theme }) => theme.fontWeight.bold}; `; From 679a8dea46944410ebff59e6f153f615bfbb1d42 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Fri, 3 Jan 2025 00:58:18 +0900 Subject: [PATCH 07/16] =?UTF-8?q?chore:=20=EC=9E=91=EC=84=B1=EC=9D=BC=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D=EC=9D=84=20'-'=EC=97=90=EC=84=9C=20'.'?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/common/ReviewDate/index.tsx | 2 +- frontend/src/components/common/ReviewDate/styles.ts | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/common/ReviewDate/index.tsx b/frontend/src/components/common/ReviewDate/index.tsx index 35cb5f871..921d3e9b5 100644 --- a/frontend/src/components/common/ReviewDate/index.tsx +++ b/frontend/src/components/common/ReviewDate/index.tsx @@ -13,7 +13,7 @@ const ReviewDate = ({ date, dateTitle }: ReviewDateProps) => { return ( - {dateTitle} | {year}-{month}-{day} + {dateTitle} | {year}.{month}.{day} ); diff --git a/frontend/src/components/common/ReviewDate/styles.ts b/frontend/src/components/common/ReviewDate/styles.ts index 0b666b79c..90ca38c05 100644 --- a/frontend/src/components/common/ReviewDate/styles.ts +++ b/frontend/src/components/common/ReviewDate/styles.ts @@ -6,9 +6,8 @@ export const ReviewDate = styled.div` display: flex; align-items: center; - span { - color: ${({ theme }) => theme.colors.gray}; - } + color: ${({ theme }) => theme.colors.gray}; + font-weight: ${({ theme }) => theme.fontWeight.semibold}; ${media.xSmall} { font-size: ${({ theme }) => theme.fontSize.small}; From 330db3bebbc66568296cc0e058e4d85ff30ee5c1 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Sat, 4 Jan 2025 19:48:21 +0900 Subject: [PATCH 08/16] =?UTF-8?q?refactor:=20=EB=B0=B0=EC=97=B4=EC=9D=84?= =?UTF-8?q?=20=EC=B2=98=EB=A6=AC=ED=95=98=EB=8D=98=20=ED=95=A8=EC=88=98?= =?UTF-8?q?=EB=A5=BC=20=EB=8B=A8=EC=9D=BC=20=EB=AC=B8=EC=9E=90=EC=97=B4?= =?UTF-8?q?=EC=9D=84=20=ED=8F=AC=EB=A7=B7=ED=8C=85=ED=95=98=EB=8A=94=20for?= =?UTF-8?q?matKeyword=20=ED=95=A8=EC=88=98=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/utils/formatKeyword.ts | 9 +++++++++ frontend/src/utils/formattedCategories.ts | 14 -------------- 2 files changed, 9 insertions(+), 14 deletions(-) create mode 100644 frontend/src/utils/formatKeyword.ts delete mode 100644 frontend/src/utils/formattedCategories.ts diff --git a/frontend/src/utils/formatKeyword.ts b/frontend/src/utils/formatKeyword.ts new file mode 100644 index 000000000..303629b1f --- /dev/null +++ b/frontend/src/utils/formatKeyword.ts @@ -0,0 +1,9 @@ +const formatKeyword = (content: string): string => { + const contentWithoutExample = Array.from(content.split(' (์˜ˆ: ')[0]); + const emoji = contentWithoutExample.shift(); + const keyword = contentWithoutExample.join(''); + + return `${emoji} ${keyword}`; +}; + +export default formatKeyword; diff --git a/frontend/src/utils/formattedCategories.ts b/frontend/src/utils/formattedCategories.ts deleted file mode 100644 index 629317a24..000000000 --- a/frontend/src/utils/formattedCategories.ts +++ /dev/null @@ -1,14 +0,0 @@ -const formattedCategories = (categories: T[]) => { - return categories.map((category) => { - const contentWithoutExample = Array.from(category.content.split(' (์˜ˆ: ')[0]); - const emoji = contentWithoutExample.shift(); - const keyword = contentWithoutExample.join(''); - - return { - optionId: category.optionId, - content: `${emoji} ${keyword}`, - }; - }); -}; - -export default formattedCategories; From 0a1fc8cdcb78206532f20c7deee8c26d64f61889 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Sat, 4 Jan 2025 19:58:15 +0900 Subject: [PATCH 09/16] =?UTF-8?q?refactor:=20ReviewCard=EC=97=90=EC=84=9C?= =?UTF-8?q?=20=EA=B0=95=EC=A0=90=20=ED=82=A4=EC=9B=8C=EB=93=9C=EB=A5=BC=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=ED=95=98=EB=8A=94=20ReviewKeyword=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReviewCard/StrengthKeywordList/index.tsx | 22 ----------------- .../components/common/ReviewCard/index.tsx | 8 +++++-- .../components/common/ReviewCard/styles.ts | 24 +++++++++++++------ .../components/common/ReviewKeyword/index.tsx | 11 +++++++++ .../styles.ts | 17 +------------ 5 files changed, 35 insertions(+), 47 deletions(-) delete mode 100644 frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx create mode 100644 frontend/src/components/common/ReviewKeyword/index.tsx rename frontend/src/components/common/{ReviewCard/StrengthKeywordList => ReviewKeyword}/styles.ts (50%) diff --git a/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx b/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx deleted file mode 100644 index 51288bd24..000000000 --- a/frontend/src/components/common/ReviewCard/StrengthKeywordList/index.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Category } from '@/types'; -import formattedCategories from '@/utils/formattedCategories'; - -import * as S from './styles'; - -interface StrengthKeywordProps { - categories: Category[]; -} - -const StrengthKeywordList = ({ categories }: StrengthKeywordProps) => { - const transformedCategories = formattedCategories(categories); - - return ( - - {transformedCategories.map((category) => ( - {category.content} - ))} - - ); -}; - -export default StrengthKeywordList; diff --git a/frontend/src/components/common/ReviewCard/index.tsx b/frontend/src/components/common/ReviewCard/index.tsx index a7acac46a..57b7de1e6 100644 --- a/frontend/src/components/common/ReviewCard/index.tsx +++ b/frontend/src/components/common/ReviewCard/index.tsx @@ -1,8 +1,8 @@ import { Category } from '@/types'; import ReviewDate from '../ReviewDate'; +import ReviewKeyword from '../ReviewKeyword'; -import StrengthKeywordList from './StrengthKeywordList'; import * as S from './styles'; interface ReviewCardProps { @@ -23,7 +23,11 @@ const ReviewCard = ({ createdAt, contentPreview, categories, handleClick }: Revi {contentPreview} - + + {categories.map(({ optionId, content }) => ( + + ))} +
    diff --git a/frontend/src/components/common/ReviewCard/styles.ts b/frontend/src/components/common/ReviewCard/styles.ts index 133526f91..eeaf05591 100644 --- a/frontend/src/components/common/ReviewCard/styles.ts +++ b/frontend/src/components/common/ReviewCard/styles.ts @@ -5,7 +5,7 @@ import media from '@/utils/media'; export const Layout = styled.div` display: flex; flex-direction: column; - border: 0.2rem solid ${({ theme }) => theme.colors.lightGray}; + border: 0.2rem solid ${({ theme }) => theme.colors.disabled}; border-radius: 1rem; &:hover { @@ -29,12 +29,6 @@ export const Header = styled.div` border-radius: 1rem 1rem 0 0; `; -export const Date = styled.p` - height: fit-content; - - color: ${({ theme }) => theme.colors.gray}; -`; - export const Main = styled.div` display: flex; flex-direction: column; @@ -75,3 +69,19 @@ export const Footer = styled.div` align-items: flex-start; } `; + +export const ReviewKeywordList = styled.ul` + display: flex; + align-items: center; + gap: 2.5rem; + + flex-wrap: wrap; + + font-size: 1.2rem; + + list-style-type: none; + + ${media.small} { + gap: 1.2rem; + } +`; diff --git a/frontend/src/components/common/ReviewKeyword/index.tsx b/frontend/src/components/common/ReviewKeyword/index.tsx new file mode 100644 index 000000000..8b77f0c22 --- /dev/null +++ b/frontend/src/components/common/ReviewKeyword/index.tsx @@ -0,0 +1,11 @@ +import formatKeyword from '@/utils/formatKeyword'; + +import * as S from './styles'; + +const ReviewKeyword = ({ content }: { content: string }) => { + const formattedKeyword = formatKeyword(content); + + return {formattedKeyword}; +}; + +export default ReviewKeyword; diff --git a/frontend/src/components/common/ReviewCard/StrengthKeywordList/styles.ts b/frontend/src/components/common/ReviewKeyword/styles.ts similarity index 50% rename from frontend/src/components/common/ReviewCard/StrengthKeywordList/styles.ts rename to frontend/src/components/common/ReviewKeyword/styles.ts index 89f4ac6f6..876f0d451 100644 --- a/frontend/src/components/common/ReviewCard/StrengthKeywordList/styles.ts +++ b/frontend/src/components/common/ReviewKeyword/styles.ts @@ -1,21 +1,6 @@ import styled from '@emotion/styled'; -import media from '@/utils/media'; - -export const KeywordList = styled.div` - display: flex; - flex-wrap: wrap; - gap: 2.5rem; - align-items: center; - - font-size: 1.2rem; - - ${media.small} { - gap: 1.2rem; - } -`; - -export const KeywordItem = styled.span` +export const ReviewKeyword = styled.li` padding: 0.5rem 2rem; background-color: ${({ theme }) => theme.colors.lightPurple}; border-radius: 1.4rem; From 5f81c4ef648cc0207a82644e6502bc0348235a0c Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Sat, 4 Jan 2025 20:12:47 +0900 Subject: [PATCH 10/16] =?UTF-8?q?refactor:=20KeywordSection=EC=97=90?= =?UTF-8?q?=EC=84=9C=20MultipleChoiceAnswer=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=EB=AA=85=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailedReviewPageContents/index.tsx | 6 +++-- .../DetailedReviewPageContents/styles.ts | 2 +- .../components/KeywordSection/index.tsx | 24 ------------------- .../components/MultipleChoiceAnswer/index.tsx | 9 +++++++ .../MultipleChoiceAnswerList/index.tsx | 21 ++++++++++++++++ .../styles.ts | 5 +--- .../DetailedReviewPage/components/index.tsx | 2 +- 7 files changed, 37 insertions(+), 32 deletions(-) delete mode 100644 frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx create mode 100644 frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx create mode 100644 frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx rename frontend/src/pages/DetailedReviewPage/components/{KeywordSection => MultipleChoiceAnswerList}/styles.ts (62%) diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx index 834385207..44e7753b2 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import { ROUTE_PARAM } from '@/constants'; import { useGetDetailedReview, useSearchParamAndQuery } from '@/hooks'; -import { ReviewDescription, ReviewSection, KeywordSection } from '@/pages/DetailedReviewPage/components'; +import { MultipleChoiceAnswerList, ReviewDescription, ReviewSection } from '@/pages/DetailedReviewPage/components'; import { substituteString } from '@/utils'; import * as S from './styles'; @@ -62,7 +62,9 @@ const DetailedReviewPageContents = () => { section.questions.map((question) => ( - {question.questionType === 'CHECKBOX' && } + {question.questionType === 'CHECKBOX' && ( + + )} )), )} diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts index c2547488c..9a80ce69e 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts @@ -5,7 +5,7 @@ import media from '@/utils/media'; export const DetailedReviewPageContents = styled.div` width: 70%; margin-top: 2rem; - border: 0.2rem solid ${({ theme }) => theme.colors.lightGray}; + border: 0.2rem solid ${({ theme }) => theme.colors.disabled}; border-radius: ${({ theme }) => theme.borderRadius.basic}; diff --git a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx deleted file mode 100644 index d838f384d..000000000 --- a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Options } from '@/types'; -import formattedCategories from '@/utils/formattedCategories'; - -import * as S from './styles'; - -interface KeywordSectionProps { - options: Options[]; -} - -const KeywordSection = ({ options }: KeywordSectionProps) => { - const transformedOptions = formattedCategories(options); - - return ( - - - {transformedOptions.map(({ optionId, content }) => ( -
  • {content}
  • - ))} -
    -
    - ); -}; - -export default KeywordSection; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx new file mode 100644 index 000000000..f65c7974e --- /dev/null +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx @@ -0,0 +1,9 @@ +import formatKeyword from '@/utils/formatKeyword'; + +const MultipleChoiceAnswer = ({ answer }: { answer: string }) => { + const formattedAnswer = formatKeyword(answer); + + return
  • {formattedAnswer}
  • ; +}; + +export default MultipleChoiceAnswer; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx new file mode 100644 index 000000000..bc15df430 --- /dev/null +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx @@ -0,0 +1,21 @@ +import { Options } from '@/types'; + +import MultipleChoiceAnswer from '../MultipleChoiceAnswer'; + +import * as S from './styles'; + +interface MultipleChoiceAnswerListProps { + answerList: Options[]; +} + +const MultipleChoiceAnswerList = ({ answerList }: MultipleChoiceAnswerListProps) => { + return ( + + {answerList.map(({ optionId, content }) => ( + + ))} + + ); +}; + +export default MultipleChoiceAnswerList; diff --git a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts similarity index 62% rename from frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts rename to frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts index 10e51c927..08223e960 100644 --- a/frontend/src/pages/DetailedReviewPage/components/KeywordSection/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts @@ -1,11 +1,8 @@ import styled from '@emotion/styled'; -export const KeywordSection = styled.section` - width: 100%; +export const MultipleChoiceAnswerList = styled.ul` margin-top: 2rem; -`; -export const KeywordList = styled.ul` padding-left: 4rem; list-style-type: disc; diff --git a/frontend/src/pages/DetailedReviewPage/components/index.tsx b/frontend/src/pages/DetailedReviewPage/components/index.tsx index 4bfb172bd..d90930600 100644 --- a/frontend/src/pages/DetailedReviewPage/components/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/index.tsx @@ -1,4 +1,4 @@ -export { default as KeywordSection } from './KeywordSection'; +export { default as MultipleChoiceAnswerList } from './MultipleChoiceAnswerList'; export { default as ReviewDescription } from './ReviewDescription'; export { default as ReviewSection } from './ReviewSection'; export { default as DetailedReviewPageContents } from './DetailedReviewPageContents'; From 70634cc08fa59cc9b7295fd5aea7dde7feaf9fea Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Sat, 4 Jan 2025 20:17:28 +0900 Subject: [PATCH 11/16] =?UTF-8?q?refactor:=20formatKeyword=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EC=97=90=EC=84=9C=20=EB=B0=98=ED=99=98=20=ED=83=80?= =?UTF-8?q?=EC=9E=85=EC=9D=84=20=EB=AA=85=EC=8B=9C=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8F=84=EB=A1=9D=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/utils/formatKeyword.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/utils/formatKeyword.ts b/frontend/src/utils/formatKeyword.ts index 303629b1f..7e2a046e5 100644 --- a/frontend/src/utils/formatKeyword.ts +++ b/frontend/src/utils/formatKeyword.ts @@ -1,4 +1,4 @@ -const formatKeyword = (content: string): string => { +const formatKeyword = (content: string) => { const contentWithoutExample = Array.from(content.split(' (์˜ˆ: ')[0]); const emoji = contentWithoutExample.shift(); const keyword = contentWithoutExample.join(''); From 27f0b9cf000d7e6a66f829d98d3acfd7b715b6a1 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Sat, 4 Jan 2025 20:29:30 +0900 Subject: [PATCH 12/16] =?UTF-8?q?style:=20css=20=EC=86=8D=EC=84=B1=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/common/OptionSwitch/styles.ts | 3 +-- frontend/src/components/common/ReviewCard/styles.ts | 8 ++------ frontend/src/components/common/ReviewDate/styles.ts | 3 +-- frontend/src/components/common/ReviewKeyword/styles.ts | 7 ++++--- .../components/DetailedReviewPageContents/styles.ts | 8 +++----- .../components/MultipleChoiceAnswerList/styles.ts | 10 +++++----- .../components/ReviewDescription/styles.ts | 1 - .../components/ReviewSection/styles.ts | 4 +--- 8 files changed, 17 insertions(+), 27 deletions(-) diff --git a/frontend/src/components/common/OptionSwitch/styles.ts b/frontend/src/components/common/OptionSwitch/styles.ts index b2be3f531..2e2bf729f 100644 --- a/frontend/src/components/common/OptionSwitch/styles.ts +++ b/frontend/src/components/common/OptionSwitch/styles.ts @@ -10,13 +10,12 @@ export const OptionSwitchContainer = styled.ul` width: 20rem; height: 4.4rem; + margin-top: 0.9rem; padding: 0.7rem; background-color: ${({ theme }) => theme.colors.lightGray}; border-radius: ${({ theme }) => theme.borderRadius.basic}; - margin-top: 0.9rem; - @media screen and (max-width: 530px) { width: 100%; } diff --git a/frontend/src/components/common/ReviewCard/styles.ts b/frontend/src/components/common/ReviewCard/styles.ts index eeaf05591..93786a694 100644 --- a/frontend/src/components/common/ReviewCard/styles.ts +++ b/frontend/src/components/common/ReviewCard/styles.ts @@ -23,7 +23,6 @@ export const Header = styled.div` align-items: center; width: 100%; - padding: 2rem 0 0 2.5rem; border-radius: 1rem 1rem 0 0; @@ -52,7 +51,6 @@ export const ContentPreview = styled.p` padding-right: 2rem; line-height: 2.5rem; - text-overflow: ellipsis; overflow-wrap: break-word; `; @@ -72,13 +70,11 @@ export const Footer = styled.div` export const ReviewKeywordList = styled.ul` display: flex; - align-items: center; - gap: 2.5rem; - flex-wrap: wrap; + gap: 2.5rem; + align-items: center; font-size: 1.2rem; - list-style-type: none; ${media.small} { diff --git a/frontend/src/components/common/ReviewDate/styles.ts b/frontend/src/components/common/ReviewDate/styles.ts index 90ca38c05..dc65be47b 100644 --- a/frontend/src/components/common/ReviewDate/styles.ts +++ b/frontend/src/components/common/ReviewDate/styles.ts @@ -5,9 +5,8 @@ import media from '@/utils/media'; export const ReviewDate = styled.div` display: flex; align-items: center; - - color: ${({ theme }) => theme.colors.gray}; font-weight: ${({ theme }) => theme.fontWeight.semibold}; + color: ${({ theme }) => theme.colors.gray}; ${media.xSmall} { font-size: ${({ theme }) => theme.fontSize.small}; diff --git a/frontend/src/components/common/ReviewKeyword/styles.ts b/frontend/src/components/common/ReviewKeyword/styles.ts index 876f0d451..7c5345aae 100644 --- a/frontend/src/components/common/ReviewKeyword/styles.ts +++ b/frontend/src/components/common/ReviewKeyword/styles.ts @@ -2,9 +2,10 @@ import styled from '@emotion/styled'; export const ReviewKeyword = styled.li` padding: 0.5rem 2rem; - background-color: ${({ theme }) => theme.colors.lightPurple}; - border-radius: 1.4rem; - color: ${({ theme }) => theme.colors.primary}; font-weight: ${({ theme }) => theme.fontWeight.semibold}; + color: ${({ theme }) => theme.colors.primary}; + + background-color: ${({ theme }) => theme.colors.lightPurple}; + border-radius: 1.4rem; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts index 9a80ce69e..74eb3bac8 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/styles.ts @@ -5,12 +5,11 @@ import media from '@/utils/media'; export const DetailedReviewPageContents = styled.div` width: 70%; margin-top: 2rem; - border: 0.2rem solid ${({ theme }) => theme.colors.disabled}; + padding: 2rem 3rem; + border: 0.2rem solid ${({ theme }) => theme.colors.disabled}; border-radius: ${({ theme }) => theme.borderRadius.basic}; - padding: 2rem 3rem; - ${media.medium} { width: 80%; } @@ -23,14 +22,13 @@ export const DetailedReviewPageContents = styled.div` export const Separator = styled.div` width: 100%; height: 0.3rem; - background-color: ${({ theme }) => theme.colors.disabled}; margin: 3rem 0; + background-color: ${({ theme }) => theme.colors.disabled}; `; export const DetailedReviewContainer = styled.div` display: flex; flex-direction: column; - gap: 4rem; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts index 08223e960..28d2a664b 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts @@ -1,12 +1,12 @@ import styled from '@emotion/styled'; export const MultipleChoiceAnswerList = styled.ul` - margin-top: 2rem; - - padding-left: 4rem; - list-style-type: disc; - display: flex; flex-direction: column; gap: 0.5rem; + + margin-top: 2rem; + padding-left: 4rem; + + list-style-type: disc; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts index 1efd90a21..52ee76dff 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/styles.ts @@ -27,7 +27,6 @@ export const ProjectInfoContainer = styled.div` display: flex; flex-direction: column; justify-content: flex-start; - width: 100%; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts index c6f53968e..b4092fd70 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts @@ -1,12 +1,10 @@ import styled from '@emotion/styled'; export const ReviewSection = styled.section` - width: 100%; - display: flex; flex-direction: column; - gap: 2rem; + width: 100%; `; export const Answer = styled.div` From 8cf24146820dac1f4b9107c5f58780a48d63002a Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Mon, 6 Jan 2025 16:05:22 +0900 Subject: [PATCH 13/16] =?UTF-8?q?refactor:=20QuestionAnswerSection?= =?UTF-8?q?=EC=9D=84=20=EC=A7=88=EB=AC=B8=EA=B3=BC=20=EB=8B=B5=EB=B3=80(?= =?UTF-8?q?=EA=B0=9D=EA=B4=80=EC=8B=9D/=EC=A3=BC=EA=B4=80=EC=8B=9D)=20?= =?UTF-8?q?=EA=B5=AC=EC=A1=B0=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/MultilineTextViewer/index.tsx | 4 +-- .../common/MultilineTextViewer/styles.ts | 14 ++++++++++ .../DetailedReviewPageContents/index.tsx | 12 +++++---- .../components/MultipleChoiceAnswer/index.tsx | 4 +-- .../MultipleChoiceAnswerList/index.tsx | 8 +++--- .../MultipleChoiceAnswerList/styles.ts | 1 - .../QuestionAnswerSection/index.tsx | 26 +++++++++++++++++++ .../QuestionAnswerSection/styles.ts | 8 ++++++ .../components/QuestionTitle/index.tsx | 11 ++++++++ .../styles.ts | 2 +- .../components/ReviewSection/index.tsx | 25 ------------------ .../components/ReviewSection/styles.ts | 22 ---------------- .../components/ReviewSectionHeader/index.tsx | 11 -------- .../DetailedReviewPage/components/index.tsx | 2 +- 14 files changed, 76 insertions(+), 74 deletions(-) create mode 100644 frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx create mode 100644 frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts create mode 100644 frontend/src/pages/DetailedReviewPage/components/QuestionTitle/index.tsx rename frontend/src/pages/DetailedReviewPage/components/{ReviewSectionHeader => QuestionTitle}/styles.ts (68%) delete mode 100644 frontend/src/pages/DetailedReviewPage/components/ReviewSection/index.tsx delete mode 100644 frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts delete mode 100644 frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/index.tsx diff --git a/frontend/src/components/common/MultilineTextViewer/index.tsx b/frontend/src/components/common/MultilineTextViewer/index.tsx index 6c39d0ce2..6b9445056 100644 --- a/frontend/src/components/common/MultilineTextViewer/index.tsx +++ b/frontend/src/components/common/MultilineTextViewer/index.tsx @@ -6,14 +6,14 @@ interface MultilineTextViewerProps { const MultilineTextViewer = ({ text }: MultilineTextViewerProps) => { return ( - <> + {text.split('\n').map((line, index) => ( {line}
    ))} - +
    ); }; diff --git a/frontend/src/components/common/MultilineTextViewer/styles.ts b/frontend/src/components/common/MultilineTextViewer/styles.ts index a5ef99e88..9cd1b2197 100644 --- a/frontend/src/components/common/MultilineTextViewer/styles.ts +++ b/frontend/src/components/common/MultilineTextViewer/styles.ts @@ -1,5 +1,19 @@ import styled from '@emotion/styled'; +export const MultilineTextContainer = styled.div` + overflow-y: auto; + + box-sizing: border-box; + width: 100%; + height: 20rem; + padding: 1rem 1.5rem; + + font-size: 1.6rem; + line-height: 2.4rem; + + background-color: ${({ theme }) => theme.colors.lightGray}; +`; + export const MultilineText = styled.div` word-wrap: break-word; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx index 44e7753b2..0141be1c4 100644 --- a/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/DetailedReviewPageContents/index.tsx @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import { ROUTE_PARAM } from '@/constants'; import { useGetDetailedReview, useSearchParamAndQuery } from '@/hooks'; -import { MultipleChoiceAnswerList, ReviewDescription, ReviewSection } from '@/pages/DetailedReviewPage/components'; +import { ReviewDescription, QuestionAnswerSection } from '@/pages/DetailedReviewPage/components'; import { substituteString } from '@/utils'; import * as S from './styles'; @@ -61,10 +61,12 @@ const DetailedReviewPageContents = () => { {parsedDetailedReview.sections.map((section) => section.questions.map((question) => ( - - {question.questionType === 'CHECKBOX' && ( - - )} + )), )} diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx index f65c7974e..e08e8b7a7 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx @@ -1,7 +1,7 @@ import formatKeyword from '@/utils/formatKeyword'; -const MultipleChoiceAnswer = ({ answer }: { answer: string }) => { - const formattedAnswer = formatKeyword(answer); +const MultipleChoiceAnswer = ({ selectedOption }: { selectedOption: string }) => { + const formattedAnswer = formatKeyword(selectedOption); return
  • {formattedAnswer}
  • ; }; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx index bc15df430..da9a4d5d1 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/index.tsx @@ -5,14 +5,14 @@ import MultipleChoiceAnswer from '../MultipleChoiceAnswer'; import * as S from './styles'; interface MultipleChoiceAnswerListProps { - answerList: Options[]; + selectedOptionList: Options[]; } -const MultipleChoiceAnswerList = ({ answerList }: MultipleChoiceAnswerListProps) => { +const MultipleChoiceAnswerList = ({ selectedOptionList }: MultipleChoiceAnswerListProps) => { return ( - {answerList.map(({ optionId, content }) => ( - + {selectedOptionList.map(({ optionId, content }) => ( + ))} ); diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts index 28d2a664b..db52191cf 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswerList/styles.ts @@ -5,7 +5,6 @@ export const MultipleChoiceAnswerList = styled.ul` flex-direction: column; gap: 0.5rem; - margin-top: 2rem; padding-left: 4rem; list-style-type: disc; diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx new file mode 100644 index 000000000..a02aaf55f --- /dev/null +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx @@ -0,0 +1,26 @@ +import { MultilineTextViewer } from '@/components'; +import { Options, QuestionType } from '@/types'; + +import MultipleChoiceAnswerList from '../MultipleChoiceAnswerList'; +import QuestionTitle from '../QuestionTitle'; + +import * as S from './styles'; + +interface QuestionAnswerProps { + question: string; + questionType: QuestionType; + answer?: string; + options?: Options[]; +} + +const QuestionAnswerSection = ({ question, questionType, answer, options }: QuestionAnswerProps) => { + return ( + + + {questionType === 'CHECKBOX' && options && } + {questionType === 'TEXT' && answer && } + + ); +}; + +export default QuestionAnswerSection; diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts new file mode 100644 index 000000000..8618dfd64 --- /dev/null +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts @@ -0,0 +1,8 @@ +import styled from '@emotion/styled'; + +export const QuestionAnswerSection = styled.section` + display: flex; + flex-direction: column; + gap: 2rem; + width: 100%; +`; diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionTitle/index.tsx b/frontend/src/pages/DetailedReviewPage/components/QuestionTitle/index.tsx new file mode 100644 index 000000000..65fdd38d1 --- /dev/null +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionTitle/index.tsx @@ -0,0 +1,11 @@ +import * as S from './styles'; + +interface QuestionProps { + text: string; +} + +const QuestionTitle = ({ text }: QuestionProps) => { + return {text}; +}; + +export default QuestionTitle; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts b/frontend/src/pages/DetailedReviewPage/components/QuestionTitle/styles.ts similarity index 68% rename from frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts rename to frontend/src/pages/DetailedReviewPage/components/QuestionTitle/styles.ts index 117dcfb33..f29376283 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionTitle/styles.ts @@ -1,5 +1,5 @@ import styled from '@emotion/styled'; -export const ReviewSectionHeader = styled.p` +export const QuestionTitle = styled.p` font-weight: ${({ theme }) => theme.fontWeight.bold}; `; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/index.tsx deleted file mode 100644 index c059715b6..000000000 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { MultilineTextViewer } from '@/components'; - -import ReviewSectionHeader from '../ReviewSectionHeader'; - -import * as S from './styles'; - -interface ReviewSectionProps { - question: string; - answer: string; -} - -const ReviewSection = ({ question, answer }: ReviewSectionProps) => { - return ( - - - {answer && ( - - - - )} - - ); -}; - -export default ReviewSection; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts deleted file mode 100644 index b4092fd70..000000000 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSection/styles.ts +++ /dev/null @@ -1,22 +0,0 @@ -import styled from '@emotion/styled'; - -export const ReviewSection = styled.section` - display: flex; - flex-direction: column; - gap: 2rem; - width: 100%; -`; - -export const Answer = styled.div` - overflow-y: auto; - - box-sizing: border-box; - width: 100%; - height: 20rem; - padding: 1rem 1.5rem; - - font-size: 1.6rem; - line-height: 2.4rem; - - background-color: ${({ theme }) => theme.colors.lightGray}; -`; diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/index.tsx b/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/index.tsx deleted file mode 100644 index 50fa0dab5..000000000 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewSectionHeader/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import * as S from './styles'; - -interface ReviewSectionHeaderProps { - text: string; -} - -const ReviewSectionHeader = ({ text }: ReviewSectionHeaderProps) => { - return {text}; -}; - -export default ReviewSectionHeader; diff --git a/frontend/src/pages/DetailedReviewPage/components/index.tsx b/frontend/src/pages/DetailedReviewPage/components/index.tsx index d90930600..429067d52 100644 --- a/frontend/src/pages/DetailedReviewPage/components/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/index.tsx @@ -1,4 +1,4 @@ export { default as MultipleChoiceAnswerList } from './MultipleChoiceAnswerList'; export { default as ReviewDescription } from './ReviewDescription'; -export { default as ReviewSection } from './ReviewSection'; +export { default as QuestionAnswerSection } from './QuestionAnswerSection'; export { default as DetailedReviewPageContents } from './DetailedReviewPageContents'; From 62eaf4c64eee17c1b56d2bb69b88174119f6b784 Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Mon, 6 Jan 2025 16:11:42 +0900 Subject: [PATCH 14/16] =?UTF-8?q?refactor:=20MultilineTextViewer=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A1=9C=20?= =?UTF-8?q?=ED=8F=B4=EB=8D=94=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components}/MultilineTextViewer/index.tsx | 0 .../components}/MultilineTextViewer/styles.ts | 0 .../components/QuestionAnswerSection/index.tsx | 5 +---- frontend/src/pages/DetailedReviewPage/components/index.tsx | 4 +++- 4 files changed, 4 insertions(+), 5 deletions(-) rename frontend/src/{components/common => pages/DetailedReviewPage/components}/MultilineTextViewer/index.tsx (100%) rename frontend/src/{components/common => pages/DetailedReviewPage/components}/MultilineTextViewer/styles.ts (100%) diff --git a/frontend/src/components/common/MultilineTextViewer/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/index.tsx similarity index 100% rename from frontend/src/components/common/MultilineTextViewer/index.tsx rename to frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/index.tsx diff --git a/frontend/src/components/common/MultilineTextViewer/styles.ts b/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts similarity index 100% rename from frontend/src/components/common/MultilineTextViewer/styles.ts rename to frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx index a02aaf55f..08feec32d 100644 --- a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx @@ -1,9 +1,6 @@ -import { MultilineTextViewer } from '@/components'; +import { MultipleChoiceAnswerList, QuestionTitle, MultilineTextViewer } from '@/pages/DetailedReviewPage/components'; import { Options, QuestionType } from '@/types'; -import MultipleChoiceAnswerList from '../MultipleChoiceAnswerList'; -import QuestionTitle from '../QuestionTitle'; - import * as S from './styles'; interface QuestionAnswerProps { diff --git a/frontend/src/pages/DetailedReviewPage/components/index.tsx b/frontend/src/pages/DetailedReviewPage/components/index.tsx index 429067d52..c8f0574f8 100644 --- a/frontend/src/pages/DetailedReviewPage/components/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/index.tsx @@ -1,4 +1,6 @@ +export { default as QuestionAnswerSection } from './QuestionAnswerSection'; +export { default as QuestionTitle } from './QuestionTitle'; export { default as MultipleChoiceAnswerList } from './MultipleChoiceAnswerList'; +export { default as MultilineTextViewer } from './MultilineTextViewer'; export { default as ReviewDescription } from './ReviewDescription'; -export { default as QuestionAnswerSection } from './QuestionAnswerSection'; export { default as DetailedReviewPageContents } from './DetailedReviewPageContents'; From 33a44c4e9672794edd6c985a98796dcf527e9abd Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Mon, 6 Jan 2025 16:23:31 +0900 Subject: [PATCH 15/16] =?UTF-8?q?refactor:=20=EC=98=88=EC=8B=9C=20?= =?UTF-8?q?=ED=8F=AC=ED=95=A8=20=EC=97=AC=EB=B6=80=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=9D=BC=20=ED=8F=AC=EB=A7=B7=ED=8C=85=EB=90=9C=20=EB=8B=B5?= =?UTF-8?q?=EB=B3=80=20=EB=98=90=EB=8A=94=20=EC=9B=90=EB=B3=B8=20=EB=8B=B5?= =?UTF-8?q?=EB=B3=80=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/common/index.tsx | 1 - .../components/MultipleChoiceAnswer/index.tsx | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/common/index.tsx b/frontend/src/components/common/index.tsx index 2a15f749f..1079b3102 100644 --- a/frontend/src/components/common/index.tsx +++ b/frontend/src/components/common/index.tsx @@ -1,7 +1,6 @@ export { default as Button } from './Button'; export { default as Input } from './Input'; export { default as ReviewDate } from './ReviewDate'; -export { default as MultilineTextViewer } from './MultilineTextViewer'; export { default as TopButton } from './TopButton'; export { default as Checkbox } from './Checkbox'; export { default as CheckboxItem } from './CheckboxItem'; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx index e08e8b7a7..2c0dbd4f7 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/MultipleChoiceAnswer/index.tsx @@ -1,9 +1,11 @@ import formatKeyword from '@/utils/formatKeyword'; const MultipleChoiceAnswer = ({ selectedOption }: { selectedOption: string }) => { + const isExampleIncluded = selectedOption.includes('์˜ˆ'); + const formattedAnswer = formatKeyword(selectedOption); - return
  • {formattedAnswer}
  • ; + return
  • {isExampleIncluded ? formattedAnswer : selectedOption}
  • ; }; export default MultipleChoiceAnswer; From 541b8902737fe6d84e457187304942cf2510d31c Mon Sep 17 00:00:00 2001 From: soosoo22 Date: Mon, 6 Jan 2025 16:46:39 +0900 Subject: [PATCH 16/16] =?UTF-8?q?refactor:=20MultilineTextViewer=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=9C=84=EC=B9=98?= =?UTF-8?q?=EB=A5=BC=20src/components/common/=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=B5=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common}/MultilineTextViewer/index.tsx | 4 ++-- .../common/MultilineTextViewer/styles.ts | 5 +++++ frontend/src/components/common/index.tsx | 1 + .../components/MultilineTextViewer/styles.ts | 19 ------------------- .../QuestionAnswerSection/index.tsx | 9 +++++++-- .../QuestionAnswerSection/styles.ts | 14 ++++++++++++++ .../DetailedReviewPage/components/index.tsx | 1 - 7 files changed, 29 insertions(+), 24 deletions(-) rename frontend/src/{pages/DetailedReviewPage/components => components/common}/MultilineTextViewer/index.tsx (85%) create mode 100644 frontend/src/components/common/MultilineTextViewer/styles.ts delete mode 100644 frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts diff --git a/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/index.tsx b/frontend/src/components/common/MultilineTextViewer/index.tsx similarity index 85% rename from frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/index.tsx rename to frontend/src/components/common/MultilineTextViewer/index.tsx index 6b9445056..6c39d0ce2 100644 --- a/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/index.tsx +++ b/frontend/src/components/common/MultilineTextViewer/index.tsx @@ -6,14 +6,14 @@ interface MultilineTextViewerProps { const MultilineTextViewer = ({ text }: MultilineTextViewerProps) => { return ( - + <> {text.split('\n').map((line, index) => ( {line}
    ))} -
    + ); }; diff --git a/frontend/src/components/common/MultilineTextViewer/styles.ts b/frontend/src/components/common/MultilineTextViewer/styles.ts new file mode 100644 index 000000000..a5ef99e88 --- /dev/null +++ b/frontend/src/components/common/MultilineTextViewer/styles.ts @@ -0,0 +1,5 @@ +import styled from '@emotion/styled'; + +export const MultilineText = styled.div` + word-wrap: break-word; +`; diff --git a/frontend/src/components/common/index.tsx b/frontend/src/components/common/index.tsx index 1079b3102..2a15f749f 100644 --- a/frontend/src/components/common/index.tsx +++ b/frontend/src/components/common/index.tsx @@ -1,6 +1,7 @@ export { default as Button } from './Button'; export { default as Input } from './Input'; export { default as ReviewDate } from './ReviewDate'; +export { default as MultilineTextViewer } from './MultilineTextViewer'; export { default as TopButton } from './TopButton'; export { default as Checkbox } from './Checkbox'; export { default as CheckboxItem } from './CheckboxItem'; diff --git a/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts b/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts deleted file mode 100644 index 9cd1b2197..000000000 --- a/frontend/src/pages/DetailedReviewPage/components/MultilineTextViewer/styles.ts +++ /dev/null @@ -1,19 +0,0 @@ -import styled from '@emotion/styled'; - -export const MultilineTextContainer = styled.div` - overflow-y: auto; - - box-sizing: border-box; - width: 100%; - height: 20rem; - padding: 1rem 1.5rem; - - font-size: 1.6rem; - line-height: 2.4rem; - - background-color: ${({ theme }) => theme.colors.lightGray}; -`; - -export const MultilineText = styled.div` - word-wrap: break-word; -`; diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx index 08feec32d..a1606b0a1 100644 --- a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/index.tsx @@ -1,4 +1,5 @@ -import { MultipleChoiceAnswerList, QuestionTitle, MultilineTextViewer } from '@/pages/DetailedReviewPage/components'; +import { MultilineTextViewer } from '@/components'; +import { MultipleChoiceAnswerList, QuestionTitle } from '@/pages/DetailedReviewPage/components'; import { Options, QuestionType } from '@/types'; import * as S from './styles'; @@ -15,7 +16,11 @@ const QuestionAnswerSection = ({ question, questionType, answer, options }: Ques {questionType === 'CHECKBOX' && options && } - {questionType === 'TEXT' && answer && } + {questionType === 'TEXT' && answer && ( + + + + )} ); }; diff --git a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts index 8618dfd64..59e13d1b2 100644 --- a/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts +++ b/frontend/src/pages/DetailedReviewPage/components/QuestionAnswerSection/styles.ts @@ -6,3 +6,17 @@ export const QuestionAnswerSection = styled.section` gap: 2rem; width: 100%; `; + +export const TextAnswerWrapper = styled.div` + overflow-y: auto; + + box-sizing: border-box; + width: 100%; + height: 20rem; + padding: 1rem 1.5rem; + + font-size: 1.6rem; + line-height: 2.4rem; + + background-color: ${({ theme }) => theme.colors.lightGray}; +`; diff --git a/frontend/src/pages/DetailedReviewPage/components/index.tsx b/frontend/src/pages/DetailedReviewPage/components/index.tsx index c8f0574f8..a455c2400 100644 --- a/frontend/src/pages/DetailedReviewPage/components/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/index.tsx @@ -1,6 +1,5 @@ export { default as QuestionAnswerSection } from './QuestionAnswerSection'; export { default as QuestionTitle } from './QuestionTitle'; export { default as MultipleChoiceAnswerList } from './MultipleChoiceAnswerList'; -export { default as MultilineTextViewer } from './MultilineTextViewer'; export { default as ReviewDescription } from './ReviewDescription'; export { default as DetailedReviewPageContents } from './DetailedReviewPageContents';