diff --git a/frontend/src/components/common/LongReviewItem/index.tsx b/frontend/src/components/common/LongReviewItem/index.tsx index 425e492df..7f8cf0baf 100644 --- a/frontend/src/components/common/LongReviewItem/index.tsx +++ b/frontend/src/components/common/LongReviewItem/index.tsx @@ -41,7 +41,7 @@ const LongReviewItem = ({ $style={style} onChange={handleWriteTextarea} onBlur={handleBlur} - placeholder={`최소 ${minLength}자 이상, 최대 ${maxLength}자까지 입력 가능해요.`} + placeholder={`최소 ${minLength}자 이상, 최대 ${maxLength}자까지 입력 가능해요`} {...rest} /> diff --git a/frontend/src/components/common/RevieweeComments/index.tsx b/frontend/src/components/common/RevieweeComments/index.tsx index 7e4c89079..4c594e971 100644 --- a/frontend/src/components/common/RevieweeComments/index.tsx +++ b/frontend/src/components/common/RevieweeComments/index.tsx @@ -4,7 +4,7 @@ interface RevieweeCommentsProps { comment: string; } -const DEFAULT_COMMENTS = '안녕하세요! 리뷰 잘 부탁드립니다.'; +const DEFAULT_COMMENTS = '안녕하세요! 리뷰 잘 부탁드려요'; const RevieweeComments = ({ comment }: RevieweeCommentsProps) => { return {comment || DEFAULT_COMMENTS}; diff --git a/frontend/src/components/layouts/Topbar/index.tsx b/frontend/src/components/layouts/Topbar/index.tsx index af1352949..891338421 100644 --- a/frontend/src/components/layouts/Topbar/index.tsx +++ b/frontend/src/components/layouts/Topbar/index.tsx @@ -5,7 +5,7 @@ import Logo from './components/Logo'; import SidebarOpenButton from './components/SidebarOpenButton'; import * as S from './styles'; -// const USER_SEARCH_PLACE_HOLDER = '사용자를 입력해주세요.'; +// const USER_SEARCH_PLACE_HOLDER = '사용자를 입력해주세요'; interface TopbarProps { openSidebar: () => void; diff --git a/frontend/src/constants/errorMessage.ts b/frontend/src/constants/errorMessage.ts index 80616aaef..b49822cd8 100644 --- a/frontend/src/constants/errorMessage.ts +++ b/frontend/src/constants/errorMessage.ts @@ -4,16 +4,16 @@ interface ApiErrorMessage { } export const API_ERROR_MESSAGE: ApiErrorMessage = { - 400: '잘못된 요청이에요.', - 401: '인증을 실패했어요.', - 403: '요청권한이 없어요.', - 404: '요청하신 내용을 찾을 수 없어요.', - 422: '올바르지 않은 데이터 형식이에요.', - serverError: '서버 오류가 발생했어요.', + 400: '잘못된 요청이에요', + 401: '인증을 실패했어요', + 403: '요청권한이 없어요', + 404: '요청하신 내용을 찾을 수 없어요', + 422: '올바르지 않은 데이터 형식이에요', + serverError: '서버 오류가 발생했어요', }; export const SERVER_ERROR_REGEX = /^5\d{2}$/; -export const ROUTE_ERROR_MESSAGE = '찾으시는 페이지가 없어요.'; +export const ROUTE_ERROR_MESSAGE = '찾으시는 페이지가 없어요'; -export const INVALID_REVIEW_PASSWORD_MESSAGE = '올바르지 않은 비밀번호예요.'; +export const INVALID_REVIEW_PASSWORD_MESSAGE = '올바르지 않은 비밀번호예요'; diff --git a/frontend/src/constants/review.ts b/frontend/src/constants/review.ts index 098ed3375..fd6edeb5a 100644 --- a/frontend/src/constants/review.ts +++ b/frontend/src/constants/review.ts @@ -6,5 +6,5 @@ export const REVIEW = { }; export const REVIEW_MESSAGE = { - answerMaxLength: `최대 ${REVIEW.answerMaxLength}자까지 입력 가능해요.`, + answerMaxLength: `최대 ${REVIEW.answerMaxLength}자까지 입력 가능해요`, }; diff --git a/frontend/src/hooks/review/writingCardForm/useGetDataToWrite/index.ts b/frontend/src/hooks/review/writingCardForm/useGetDataToWrite/index.ts index 3683a48f0..9c19b29e8 100644 --- a/frontend/src/hooks/review/writingCardForm/useGetDataToWrite/index.ts +++ b/frontend/src/hooks/review/writingCardForm/useGetDataToWrite/index.ts @@ -9,7 +9,7 @@ interface UseGetDataToWriteProps { } const useGetDataToWrite = ({ reviewRequestCode }: UseGetDataToWriteProps) => { const fetchReviewFormData = async (reviewRequestCode: string | undefined) => { - if (!reviewRequestCode) throw new Error('reviewRequestCode가 undefined에요.'); + if (!reviewRequestCode) throw new Error('reviewRequestCode가 undefined에요'); const result = await getDataToWriteReviewApi(reviewRequestCode); return result; diff --git a/frontend/src/hooks/useLongReviewItem.ts b/frontend/src/hooks/useLongReviewItem.ts index f2cceebc4..f7140f2e2 100644 --- a/frontend/src/hooks/useLongReviewItem.ts +++ b/frontend/src/hooks/useLongReviewItem.ts @@ -25,7 +25,7 @@ const useLongReviewItem = ({ minLength, maxLength, initialValue, required }: Use if (errorOnRequired || errorOnNotRequired) { setIsError(true); - setErrorMessage(`최소 ${minLength}자 이상 작성해 주세요.`); + setErrorMessage(`최소 ${minLength}자 이상 작성해 주세요`); } else { setIsError(false); setErrorMessage(''); diff --git a/frontend/src/hooks/useReviewForm.ts b/frontend/src/hooks/useReviewForm.ts index 165c77ccc..b70470575 100644 --- a/frontend/src/hooks/useReviewForm.ts +++ b/frontend/src/hooks/useReviewForm.ts @@ -27,7 +27,7 @@ const useReviewForm = ({ dataToWrite }: UseReviewFormProps) => { const handleKeywordButtonClick = (keyword: Keyword) => { if (selectedKeywords.length === REVIEW.keywordMaxCount && !selectedKeywords.includes(keyword.id)) { - setErrorMessage('키워드는 최대 5개까지 선택할 수 있어요.'); + setErrorMessage('키워드는 최대 5개까지 선택할 수 있어요'); } setSelectedKeywords((prev) => diff --git a/frontend/src/mocks/mockData/detailedReviewMockData.ts b/frontend/src/mocks/mockData/detailedReviewMockData.ts index 6d5b46309..919428f5c 100644 --- a/frontend/src/mocks/mockData/detailedReviewMockData.ts +++ b/frontend/src/mocks/mockData/detailedReviewMockData.ts @@ -14,13 +14,13 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { sections: [ { sectionId: 1, - header: `💡 ${REVIEWEENAME}와 함께 한 기억을 떠올려볼게요.`, + header: `💡 ${REVIEWEENAME}와 함께 한 기억을 떠올려볼게요`, questions: [ { questionId: 1, required: true, questionType: 'CHECKBOX', - content: `프로젝트 기간 동안, ${REVIEWEENAME}의 강점이 드러났던 순간을 선택해주세요.`, + content: `프로젝트 기간 동안, ${REVIEWEENAME}의 강점이 드러났던 순간을 선택해주세요`, optionGroup: { optionGroupId: 1, minCount: 1, @@ -41,7 +41,7 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { questionId: 2, required: true, questionType: 'CHECKBOX', - content: `${REVIEWEENAME}에서 어떤 부분이 인상 깊었는지 선택해주세요.`, + content: `${REVIEWEENAME}에서 어떤 부분이 인상 깊었는지 선택해주세요`, optionGroup: { optionGroupId: 1, minCount: 1, @@ -49,10 +49,10 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { options: [ { optionId: 4, - content: '반대 의견을 내더라도 듣는 사람이 기분 나쁘지 않게 이야기해요.', + content: '반대 의견을 내더라도 듣는 사람이 기분 나쁘지 않게 이야기해요', isChecked: true, }, - { optionId: 5, content: '팀원들의 의견을 잘 모아서 회의가 매끄럽게 진행되도록 해요.', isChecked: true }, + { optionId: 5, content: '팀원들의 의견을 잘 모아서 회의가 매끄럽게 진행되도록 해요', isChecked: true }, ], }, }, @@ -60,7 +60,7 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { questionId: 3, required: true, questionType: 'TEXT', - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', optionGroup: null, answer: '쑤쑤 쑤퍼노바 인상깊어요', }, @@ -88,7 +88,7 @@ export const DETAILED_REVIEW_MOCK_DATA: DetailReviewData = { questionId: 5, required: false, questionType: 'TEXT', - content: `${REVIEWEENAME}에게 전하고 싶은 다른 리뷰가 있거나 응원의 말이 있다면 적어주세요.`, + content: `${REVIEWEENAME}에게 전하고 싶은 다른 리뷰가 있거나 응원의 말이 있다면 적어주세요`, optionGroup: null, answer: '응원합니다 화이팅!!', }, diff --git a/frontend/src/mocks/mockData/reviewWritingData.ts b/frontend/src/mocks/mockData/reviewWritingData.ts index 80bb95070..3de0051c7 100644 --- a/frontend/src/mocks/mockData/reviewWritingData.ts +++ b/frontend/src/mocks/mockData/reviewWritingData.ts @@ -4,8 +4,8 @@ export const REVIEW_WRITING_DATA: WritingReviewInfoData = { revieweeName: 'chysis', projectName: 'woowacourse 6th', questions: [ - { id: 0, content: '동료의 개발 역량 향상을 위해 피드백을 남겨 주세요.' }, - { id: 1, content: '동료의 소프트 스킬의 성장을 위해 피드백을 남겨 주세요.' }, + { id: 0, content: '동료의 개발 역량 향상을 위해 피드백을 남겨 주세요' }, + { id: 1, content: '동료의 소프트 스킬의 성장을 위해 피드백을 남겨 주세요' }, { id: 2, content: '팀 동료로 근무한다면 같이 일하고 싶은 개발자인가요?' }, ], keywords: [ diff --git a/frontend/src/mocks/mockData/writingCardForm/reviewWritingCardFormData.ts b/frontend/src/mocks/mockData/writingCardForm/reviewWritingCardFormData.ts index c77970ebe..cde7a5d11 100644 --- a/frontend/src/mocks/mockData/writingCardForm/reviewWritingCardFormData.ts +++ b/frontend/src/mocks/mockData/writingCardForm/reviewWritingCardFormData.ts @@ -12,12 +12,12 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '카테고리 선택', visible: 'ALWAYS', onSelectedOptionId: null, - header: 'bada와 함께 한 기억을 떠올려볼게요.', + header: 'bada와 함께 한 기억을 떠올려볼게요', questions: [ { questionId: 1, required: true, - content: '프로젝트 기간 동안, bada의 강점이 드러났던 순간을 선택해주세요.', + content: '프로젝트 기간 동안, bada의 강점이 드러났던 순간을 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 1, @@ -48,25 +48,25 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '커뮤니케이션, 협업 능력', visible: 'CONDITIONAL', onSelectedOptionId: 1, - header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요.', + header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요', questions: [ { questionId: 2, required: true, - content: '커뮤니케이션, 협업 능력에서 어떤 부분이 인상 깊었는지 선택해주세요.', + content: '커뮤니케이션, 협업 능력에서 어떤 부분이 인상 깊었는지 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 2, minCount: 1, maxCount: 7, options: [ - { optionId: 6, content: '반대 의견을 내더라도 듣는 사람이 기분 나쁘지 않게 이야기해요.' }, - { optionId: 7, content: '팀원들의 의견을 잘 모아서 회의가 매끄럽게 진행되도록 해요.' }, - { optionId: 8, content: '팀의 분위기를 주도해요.' }, - { optionId: 9, content: '주장을 이야기할 때에는 합당한 근거가 뒤따라요.' }, - { optionId: 10, content: '팀에게 필요한 것과 그렇지 않은 것을 잘 구분해요.' }, - { optionId: 11, content: '팀 내 주어진 요구사항에 우선순위를 잘 매겨요. (커뮤니케이션 능력을 특화하자)' }, - { optionId: 12, content: '서로 다른 분야간의 소통도 중요하게 생각해요.' }, + { optionId: 6, content: '반대 의견을 내더라도 듣는 사람이 기분 나쁘지 않게 이야기해요' }, + { optionId: 7, content: '팀원들의 의견을 잘 모아서 회의가 매끄럽게 진행되도록 해요' }, + { optionId: 8, content: '팀의 분위기를 주도해요' }, + { optionId: 9, content: '주장을 이야기할 때에는 합당한 근거가 뒤따라요' }, + { optionId: 10, content: '팀에게 필요한 것과 그렇지 않은 것을 잘 구분해요' }, + { optionId: 11, content: '팀 내 주어진 요구사항에 우선순위를 잘 매겨요 (커뮤니케이션 능력을 특화하자)' }, + { optionId: 12, content: '서로 다른 분야간의 소통도 중요하게 생각해요' }, ], }, hasGuideline: false, @@ -75,12 +75,12 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 3, required: true, - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: true, guideline: - '상황을 자세하게 기록할수록 bada에게 도움이 돼요. bada 덕분에 팀이 원활한 소통을 이뤘거나, 함께 일하면서 배울 점이 있었는지 떠올려 보세요.', + '상황을 자세하게 기록할수록 bada에게 도움이 돼요 bada 덕분에 팀이 원활한 소통을 이뤘거나, 함께 일하면서 배울 점이 있었는지 떠올려 보세요', }, ], }, @@ -89,33 +89,33 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '문제해결 능력', visible: 'CONDITIONAL', onSelectedOptionId: 2, - header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요.', + header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요', questions: [ { questionId: 4, required: true, - content: '문제해결 능력에서 어느 부분이 인상 깊었는지 선택해주세요.', + content: '문제해결 능력에서 어느 부분이 인상 깊었는지 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 3, minCount: 1, maxCount: 8, options: [ - { optionId: 13, content: '큰 문제를 작은 단위로 쪼개서 단계별로 해결해나가요.' }, - { optionId: 14, content: '낯선 문제를 만나도 당황하지 않고 차분하게 풀어나가요.' }, - { optionId: 15, content: '문제 해결을 위해 GPT등의 자원을 적극적으로 활용해요.' }, + { optionId: 13, content: '큰 문제를 작은 단위로 쪼개서 단계별로 해결해나가요' }, + { optionId: 14, content: '낯선 문제를 만나도 당황하지 않고 차분하게 풀어나가요' }, + { optionId: 15, content: '문제 해결을 위해 GPT등의 자원을 적극적으로 활용해요' }, { optionId: 16, - content: '문제를 해결한 뒤에도 재발 방지를 위한 노력을 기울여요. (예: 문서화, 테스트 케이스 추가 등)', + content: '문제를 해결한 뒤에도 재발 방지를 위한 노력을 기울여요 (예: 문서화, 테스트 케이스 추가 등)', }, - { optionId: 17, content: '문제의 원인을 적극적으로 탐구하고 해결해요. (예: 디버깅 툴의 적극적 활용 등)' }, - { optionId: 18, content: '어려운 문제를 만나도 피하지 않고 도전해요.' }, + { optionId: 17, content: '문제의 원인을 적극적으로 탐구하고 해결해요 (예: 디버깅 툴의 적극적 활용 등)' }, + { optionId: 18, content: '어려운 문제를 만나도 피하지 않고 도전해요' }, { optionId: 19, content: - '문제를 해결하기 위해 타인과 의사소통을 할 수 있어요. (예: 팀원과 이슈 공유, 문제 상황 설명 등)', + '문제를 해결하기 위해 타인과 의사소통을 할 수 있어요 (예: 팀원과 이슈 공유, 문제 상황 설명 등)', }, - { optionId: 20, content: '문제 원인과 해결책에 대한 가설을 세우고 직접 실험해봐요.' }, + { optionId: 20, content: '문제 원인과 해결책에 대한 가설을 세우고 직접 실험해봐요' }, ], }, hasGuideline: false, @@ -124,12 +124,12 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 5, required: true, - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: true, guideline: - '상황을 자세하게 기록할수록 bada에게 도움이 돼요. 어떤 문제 상황이 발생했고, bada이/가 어떻게 해결했는지 그 과정을 떠올려 보세요.', + '상황을 자세하게 기록할수록 bada에게 도움이 돼요 어떤 문제 상황이 발생했고, bada이/가 어떻게 해결했는지 그 과정을 떠올려 보세요', }, ], }, @@ -138,26 +138,26 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '시간 관리 능력', visible: 'CONDITIONAL', onSelectedOptionId: 3, - header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요.', + header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요', questions: [ { questionId: 6, required: true, - content: '시간 관리 능력에서 어느 부분이 인상 깊었는지 선택해주세요.', + content: '시간 관리 능력에서 어느 부분이 인상 깊었는지 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 4, minCount: 1, maxCount: 5, options: [ - { optionId: 21, content: '프로젝트의 일정과 주요 마일스톤을 설정하여 체계적으로 일정을 관리해요.' }, - { optionId: 22, content: '일정에 따라 마감 기한을 잘 지켜요.' }, + { optionId: 21, content: '프로젝트의 일정과 주요 마일스톤을 설정하여 체계적으로 일정을 관리해요' }, + { optionId: 22, content: '일정에 따라 마감 기한을 잘 지켜요' }, { optionId: 23, - content: '업무의 중요도와 긴급성을 고려하여 우선 순위를 정하고, 그에 따라 작업을 분배해요.', + content: '업무의 중요도와 긴급성을 고려하여 우선 순위를 정하고, 그에 따라 작업을 분배해요', }, - { optionId: 24, content: '예기치 않은 일정 변경에도 유연하게 대처해요.' }, - { optionId: 25, content: '회의 시간과 같은 약속된 시간을 잘 지켜요.' }, + { optionId: 24, content: '예기치 않은 일정 변경에도 유연하게 대처해요' }, + { optionId: 25, content: '회의 시간과 같은 약속된 시간을 잘 지켜요' }, ], }, hasGuideline: false, @@ -166,12 +166,12 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 7, required: true, - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: true, guideline: - '상황을 자세하게 기록할수록 bada에게 도움이 돼요. bada 덕분에 팀이 효율적으로 시간관리를 할 수 있었는지 떠올려 보세요.', + '상황을 자세하게 기록할수록 bada에게 도움이 돼요 bada 덕분에 팀이 효율적으로 시간관리를 할 수 있었는지 떠올려 보세요', }, ], }, @@ -180,30 +180,30 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '기술 역량, 전문 지식', visible: 'CONDITIONAL', onSelectedOptionId: 4, - header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요.', + header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요', questions: [ { questionId: 8, required: true, - content: '기술 역량, 전문 지식에서 어떤 부분이 인상 깊었는지 선택해주세요.', + content: '기술 역량, 전문 지식에서 어떤 부분이 인상 깊었는지 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 5, minCount: 1, maxCount: 12, options: [ - { optionId: 26, content: '관련 언어 / 라이브러리 / 프레임워크 지식이 풍부해요.' }, - { optionId: 27, content: '인프라 지식이 풍부해요.' }, - { optionId: 28, content: 'CS 지식이 풍부해요.' }, - { optionId: 29, content: '코드 리뷰에서 중요한 개선점을 제안했어요.' }, - { optionId: 30, content: '리팩토링을 통해 전체 코드의 품질을 향상시켰어요.' }, - { optionId: 31, content: '복잡한 버그를 신속하게 찾고 해결했어요.' }, - { optionId: 32, content: '꼼꼼하게 테스트를 작성했어요.' }, - { optionId: 33, content: '처음 보는 기술을 빠르게 습득하여 팀 프로젝트에 적용했어요.' }, - { optionId: 34, content: '명확하고 자세한 기술 문서를 작성하여 팀의 이해를 도왔어요.' }, - { optionId: 35, content: '컨벤션을 잘 지키면서 클린 코드를 작성하려고 노력했어요.' }, - { optionId: 36, content: '성능 최적화에 기여했어요.' }, - { optionId: 37, content: '지속적인 학습과 공유를 통해 팀의 기술 수준을 높였어요.' }, + { optionId: 26, content: '관련 언어 / 라이브러리 / 프레임워크 지식이 풍부해요' }, + { optionId: 27, content: '인프라 지식이 풍부해요' }, + { optionId: 28, content: 'CS 지식이 풍부해요' }, + { optionId: 29, content: '코드 리뷰에서 중요한 개선점을 제안했어요' }, + { optionId: 30, content: '리팩토링을 통해 전체 코드의 품질을 향상시켰어요' }, + { optionId: 31, content: '복잡한 버그를 신속하게 찾고 해결했어요' }, + { optionId: 32, content: '꼼꼼하게 테스트를 작성했어요' }, + { optionId: 33, content: '처음 보는 기술을 빠르게 습득하여 팀 프로젝트에 적용했어요' }, + { optionId: 34, content: '명확하고 자세한 기술 문서를 작성하여 팀의 이해를 도왔어요' }, + { optionId: 35, content: '컨벤션을 잘 지키면서 클린 코드를 작성하려고 노력했어요' }, + { optionId: 36, content: '성능 최적화에 기여했어요' }, + { optionId: 37, content: '지속적인 학습과 공유를 통해 팀의 기술 수준을 높였어요' }, ], }, hasGuideline: false, @@ -212,12 +212,12 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 9, required: true, - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: true, guideline: - '상황을 자세하게 기록할수록 bada에게 도움이 돼요. bada 덕분에 기술적 역량, 전문 지식적으로 도움을 받은 경험을 떠올려 보세요.', + '상황을 자세하게 기록할수록 bada에게 도움이 돼요 bada 덕분에 기술적 역량, 전문 지식적으로 도움을 받은 경험을 떠올려 보세요', }, ], }, @@ -226,28 +226,28 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { sectionName: '성장 마인드셋', visible: 'CONDITIONAL', onSelectedOptionId: 5, - header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요.', + header: '이제, 선택한 순간들을 바탕으로 bada에 대한 리뷰를 작성해볼게요', questions: [ { questionId: 10, required: true, - content: '성장 마인드셋에서 어떤 부분이 인상 깊었는지 선택해주세요.', + content: '성장 마인드셋에서 어떤 부분이 인상 깊었는지 선택해주세요', questionType: 'CHECKBOX', optionGroup: { optionGroupId: 6, minCount: 1, maxCount: 10, options: [ - { optionId: 38, content: '어떤 상황에도 긍정적인 태도로 임해요.' }, - { optionId: 39, content: '주변 사람들한테 질문하는 것을 부끄러워하지 않아요.' }, - { optionId: 40, content: '어려움이 있어도 끝까지 해내요.' }, - { optionId: 41, content: '함께 성장하기 위해, 배운 내용을 다른 사람과 공유해요.' }, - { optionId: 42, content: '새로운 것을 두려워하지 않고 적극적으로 배워나가요.' }, - { optionId: 43, content: '이론적 학습에서 그치지 않고 직접 적용하려 노력해요.' }, - { optionId: 44, content: '다른 사람들과 비교하지 않고 본인만의 속도로 성장하는 법을 알고 있어요.' }, - { optionId: 45, content: '받은 피드백을 빠르게 수용해요.' }, - { optionId: 46, content: '회고를 통해 성장할 수 있는 방법을 스스로 탐색해요.' }, - { optionId: 47, content: '새로운 아이디어를 시도하고, 기존의 틀을 깨는 것을 두려워하지 않아요.' }, + { optionId: 38, content: '어떤 상황에도 긍정적인 태도로 임해요' }, + { optionId: 39, content: '주변 사람들한테 질문하는 것을 부끄러워하지 않아요' }, + { optionId: 40, content: '어려움이 있어도 끝까지 해내요' }, + { optionId: 41, content: '함께 성장하기 위해, 배운 내용을 다른 사람과 공유해요' }, + { optionId: 42, content: '새로운 것을 두려워하지 않고 적극적으로 배워나가요' }, + { optionId: 43, content: '이론적 학습에서 그치지 않고 직접 적용하려 노력해요' }, + { optionId: 44, content: '다른 사람들과 비교하지 않고 본인만의 속도로 성장하는 법을 알고 있어요' }, + { optionId: 45, content: '받은 피드백을 빠르게 수용해요' }, + { optionId: 46, content: '회고를 통해 성장할 수 있는 방법을 스스로 탐색해요' }, + { optionId: 47, content: '새로운 아이디어를 시도하고, 기존의 틀을 깨는 것을 두려워하지 않아요' }, ], }, hasGuideline: false, @@ -256,12 +256,11 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 11, required: true, - content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요.', + content: '위에서 선택한 사항에 대해 조금 더 자세히 설명해주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: true, - guideline: - '상황을 자세하게 기록할수록 bada에게 도움이 돼요. 인상깊었던 bada의 성장 마인드셋을 떠올려 보세요.', + guideline: '상황을 자세하게 기록할수록 bada에게 도움이 돼요 인상깊었던 bada의 성장 마인드셋을 떠올려 보세요', }, ], }, @@ -279,7 +278,7 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { questionType: 'TEXT', optionGroup: null, hasGuideline: true, - guideline: "어떤 점을 보완하면 좋을지와 함께 '이렇게 해보면 어떨까?'하는 간단한 솔루션을 제안해봐요.", + guideline: "어떤 점을 보완하면 좋을지와 함께 '이렇게 해보면 어떨까?'하는 간단한 솔루션을 제안해봐요", }, ], }, @@ -293,7 +292,7 @@ export const REVIEW_WRITING_FORM_CARD_DATA: ReviewWritingFrom = { { questionId: 13, required: false, - content: 'bada에게 전하고 싶은 다른 리뷰가 있거나 응원의 말이 있다면 적어주세요.', + content: 'bada에게 전하고 싶은 다른 리뷰가 있거나 응원의 말이 있다면 적어주세요', questionType: 'TEXT', optionGroup: null, hasGuideline: false, diff --git a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx index b67e0ebe8..b4c38c18a 100644 --- a/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx +++ b/frontend/src/pages/DetailedReviewPage/components/ReviewDescription/index.tsx @@ -32,7 +32,7 @@ const ReviewDescription = ({ {projectName} - {revieweeName}에 대한 리뷰입니다! + {revieweeName}에 대한 리뷰예요 diff --git a/frontend/src/pages/HomePage/components/CopyTextButton/index.tsx b/frontend/src/pages/HomePage/components/CopyTextButton/index.tsx index 9b54985c7..73d415bca 100644 --- a/frontend/src/pages/HomePage/components/CopyTextButton/index.tsx +++ b/frontend/src/pages/HomePage/components/CopyTextButton/index.tsx @@ -11,9 +11,9 @@ const CopyTextButton = ({ targetText, alt }: CopyTextButtonProps) => { const handleCopyTextButtonClick = async () => { try { await navigator.clipboard.writeText(targetText); - alert('텍스트가 클립보드에 복사되었습니다.'); + alert('텍스트가 클립보드에 복사되었어요'); } catch (error) { - if (error instanceof Error) throw new Error('텍스트 복사에 실패했습니다.'); + if (error instanceof Error) throw new Error('텍스트 복사에 실패했어요'); } }; diff --git a/frontend/src/pages/HomePage/components/URLGeneratorForm/index.tsx b/frontend/src/pages/HomePage/components/URLGeneratorForm/index.tsx index 95ea971bf..90658c587 100644 --- a/frontend/src/pages/HomePage/components/URLGeneratorForm/index.tsx +++ b/frontend/src/pages/HomePage/components/URLGeneratorForm/index.tsx @@ -5,6 +5,7 @@ import { Button, Input, EyeButton } from '@/components'; import { ROUTE } from '@/constants/route'; import { useEyeButton } from '@/hooks'; import useModals from '@/hooks/useModals'; +import { usePasswordValidation } from '@/hooks/usePasswordValidation'; import { debounce } from '@/utils/debounce'; import usePostDataForReviewRequestCode from '../../queries/usePostDataForReviewRequestCode'; @@ -18,7 +19,6 @@ import { } from '../../utils/validateInput'; import { FormLayout, ReviewZoneURLModal } from '../index'; -import { usePasswordValidation } from './../../../../hooks/usePasswordValidation'; import * as S from './styles'; // TODO: 디바운스 시간을 모든 경우에 0.3초로 고정할 것인지(전역 상수로 사용) 논의하기 diff --git a/frontend/src/pages/ReviewListPage/components/PageContents/index.tsx b/frontend/src/pages/ReviewListPage/components/PageContents/index.tsx index 1c8cc9ee5..75c25fa9c 100644 --- a/frontend/src/pages/ReviewListPage/components/PageContents/index.tsx +++ b/frontend/src/pages/ReviewListPage/components/PageContents/index.tsx @@ -9,7 +9,7 @@ import ReviewInfoSection from '../ReviewInfoSection'; import * as S from './styles'; -// const USER_SEARCH_PLACE_HOLDER = '레포지토리명을 검색하세요.'; +// const USER_SEARCH_PLACE_HOLDER = '레포지토리명을 검색하세요'; // const OPTIONS = ['최신순', '오래된순']; interface PageContentsProps { diff --git a/frontend/src/pages/ReviewWritingCardFromPage/components/CardForm/index.tsx b/frontend/src/pages/ReviewWritingCardFromPage/components/CardForm/index.tsx index 046645247..f6fb240fa 100644 --- a/frontend/src/pages/ReviewWritingCardFromPage/components/CardForm/index.tsx +++ b/frontend/src/pages/ReviewWritingCardFromPage/components/CardForm/index.tsx @@ -188,7 +188,7 @@ const CardForm = () => { >

리뷰를 제출할까요?

-

제출한 뒤에는 수정할 수 없어요.

+

제출한 뒤에는 수정할 수 없어요

)} diff --git a/frontend/src/pages/ReviewWritingCardFromPage/components/MultipleChoiceQuestion/index.tsx b/frontend/src/pages/ReviewWritingCardFromPage/components/MultipleChoiceQuestion/index.tsx index d757a0c3c..bffe0356f 100644 --- a/frontend/src/pages/ReviewWritingCardFromPage/components/MultipleChoiceQuestion/index.tsx +++ b/frontend/src/pages/ReviewWritingCardFromPage/components/MultipleChoiceQuestion/index.tsx @@ -55,7 +55,7 @@ const MultipleChoiceQuestion = ({ question }: MultipleChoiceQuestionProps) => { /> ))} - {isOpenLimitGuide &&

😅 최대 {question.optionGroup?.maxCount}개까지 선택가능해요.

} + {isOpenLimitGuide &&

😅 최대 {question.optionGroup?.maxCount}개까지 선택가능해요

}
{isOpen(MODAL_KEY.confirm) && ( { > 잠깐만요! -

선택을 해제하시면 앞서 작성한 답변이 모두 사라져요.

+

선택을 해제하시면 앞서 작성한 답변이 모두 사라져요

변경하시겠어요?

diff --git a/frontend/src/pages/ReviewZonePage/index.tsx b/frontend/src/pages/ReviewZonePage/index.tsx index c5c76f566..9568a186d 100644 --- a/frontend/src/pages/ReviewZonePage/index.tsx +++ b/frontend/src/pages/ReviewZonePage/index.tsx @@ -27,7 +27,7 @@ const ReviewZonePage = () => { paramKey: 'reviewRequestCode', }); - if (!reviewRequestCode) throw new Error('유효하지 않은 리뷰 요청 코드입니다.'); + if (!reviewRequestCode) throw new Error('유효하지 않은 리뷰 요청 코드예요'); useEffect(() => { if (!storedReviewRequestCode && reviewRequestCode) { @@ -38,7 +38,7 @@ const ReviewZonePage = () => { const { data: reviewGroupData } = useGetReviewGroupData({ reviewRequestCode }); const handleReviewWritingButtonClick = () => { - navigate(`/${ROUTE.reviewWriting}/ABCD1234`); + navigate(`/${ROUTE.reviewWriting}/${reviewRequestCode}`); }; const handleReviewListButtonClick = () => { diff --git a/frontend/src/utils/isExistentElement.ts b/frontend/src/utils/isExistentElement.ts index 971a10052..748e48cb6 100644 --- a/frontend/src/utils/isExistentElement.ts +++ b/frontend/src/utils/isExistentElement.ts @@ -5,12 +5,12 @@ export const isExistentElement = (element: NullableElement, elementName: string) const isHTMLElementOrElement = element instanceof HTMLElement || element instanceof Element; if (!isExistentElement) { - console.error(`${elementName}을/를 찾을 수 없습니다.`); + console.error(`${elementName}을/를 찾을 수 없어요`); return false; } if (!isHTMLElementOrElement) { - console.error(`${elementName}은/는 Element 이하의 타입이 아닙니다.`); + console.error(`${elementName}은/는 Element 이하의 타입이 아니에요`); return false; }