Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] refactor: 서술형 필수 질문에 최소/최대 문구 안내 추가 #566

Merged
merged 5 commits into from
Sep 5, 2024

Conversation

ImxYJL
Copy link
Contributor

@ImxYJL ImxYJL commented Sep 4, 2024


🚀 어떤 기능을 구현했나요 ?

  • 서술형 필수 질문에 최소/최대 문구 안내를 추가했습니다.
  • 2곳 이상에서 사용하는 상수를 별도의 constant 폴더로 분리했습니다.

🔥 어떻게 해결했나요 ?

!optionGroup 이면 TEXT 타입(주관식)이긴 한데

if (!optionGroup && ... question.required){
  return `(최소 ${TEXT_ANSWER_LENGTH.min}자 ~ 최대 ${TEXT_ANSWER_LENGTH.max}자)`;
}

이렇게 체크를 하는 것보다는 questionType === 'TEXT'처럼 명시적으로 질문 타입을 체크하는 게 나은 것 같아 questionType을 추가로 가져왔습니다.

📝 어떤 부분에 집중해서 리뷰해야 할까요?

  • 이상한 곳 없는지 봐주세요~~

📚 참고 자료, 할 말

Copy link
Contributor

@chysis chysis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥👍

Copy link
Contributor

@soosoo22 soosoo22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르게 반영해주셨네요 고생했어요! 올리!!!

Copy link
Contributor

@BadaHertz52 BadaHertz52 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

주관식 안내문구 조건이 생기면서 필요없어진 코드가 있어요.
코멘트 달아놨으니 해당 부분 확인하고 삭제해주세요.


if (!optionGroup) return;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

optionGroup은 주관식은 null이고, 객관식은 null값이 아니에요.
주관식에 대한 if 문이 생겼기 때문에 if (!optionGroup) return; 은 삭제해주세요.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (!optionGroup) return;을 지우면 const { minCount, maxCount } = optionGroup;에서 에러가 나서 지우지 않았습니다. 대신 if (!optionGroup)을 주관식 가이드라인 설정의 if문으로 돌릴 수 있는데, 이 if문이 주관식을 처리한다는 게 직관적으로 보이지 않아서 일부러 questionType === 'TEXT'로 체크했었습니다.
그런데 if문에 주석을 단다면 가독성 문제를 해결할 수 있을 것 같아 if (!optionGroup) return;을 주관식 if문으로 두었습니다!

if (!optionGroup) return;
const { optionGroup, questionType } = question;

// NOTE: 객관식일 경우의 안내 문구 처리
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE 다음은 주관식에 대한 내용이기 때문에 해당 주석 삭제하거나 객관식에 대한 안내문구 코드쪽으로 옮겨주세요.

@@ -15,12 +16,21 @@ const QnABox = ({ question }: QnABoxProps) => {
* 객관식 문항의 최소,최대 개수에 대한 안내 문구
*/
const multipleLGuideline = (() => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안내문구가 기존에는 객관식에 대해서만 있었는데, 주관식이 생겨서 함수로 분리해도 좋겠네요

Copy link
Contributor

@BadaHertz52 BadaHertz52 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

꿋!! 👍👍👍👍👍👍👍👍👍

@BadaHertz52 BadaHertz52 merged commit 95ef7ef into develop Sep 5, 2024
3 checks passed
@donghoony donghoony deleted the fe/refactor/559-textarea-min-max-length-label branch September 26, 2024 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[FE] textarea에 입력 가능한 최대, 최소 글자수를 label에 명시한다.
4 participants