QA
- 로그인화면 너무 큼.
- 로그인 페이지에서 이메일 또는 전화번호인데 이메일을 입력하면 휴대폰 번호가 정확하지 않는다함.

- 로그인 페이지에선 아이디가 20자 이상 입력시 막히는데 회원가입 시 20자 이상 입력됨.
- 핸드폰 번호에 슬래시(-)를 넣지 않으면 올바른 번호로 인식하지 않음.
- 비밀번호가 6자리 미만이어도 가입이 진행됨.
- 새로고침 시 로그아웃됨.
- 생년월일 페이지에서 뒤로가기 클릭시 폼이 아닌 로그인 페이지로 바뀜.
- 생일 입력 드롭다운 시 정확히 화살표를 클릭해야 열림. 다른 input을 클릭하면 아무 동작하지 않음.
- 비슷한 원리로 비밀번호 표시에 체크 아이콘을 클릭하면 아무 반응이 없음.
- 가입버튼이 활성화되지 않았는데 클릭이 됨.
- 모두 동의 후 개별 항목 체크 해제 시 모두 동의 체크박스가 제대로 동작하지 않음.
- 카카오 로그인 시 페이지를 찾을 수 없음. localhost 로 redirect 시키는 듯.

코드관련
pros
- 디렉토리 구조에 대한 고민을 했군요!
- 정규식을 잘 사용함.
- 공통 컴포넌트를 잘 사용함.
cons
- gitignore에 env가 포함되어 있지 않음. 보안적으로 위험함.
- public의 아이콘 파일명의 통일감이 없음. camel case와 대시(-) 형태가 섞여있음.
- asset에 있는 svg와 public에 있는 svg의 차이를 모르겠음.
- constant.ts에 naming 간의 통일이 되어있지 않음. ex) JWT_KEY 와 KakaoBaseURL
- early return을 사용하면 가독성이 좋아질 것 같음.
DateSelect
인데 select 태그가 아닌 div 태그를 사용함.
question
- 상태관리 라이브러리로 recoil을 선택한 이유가 있을까요?
- 폼 데이터를 전부 전역 상태로 했을 때 단점은 없을까요?
- style tag를 분리했을 때 불편한 점은 없을까요?
- Content 컴포넌트에서
isExistsFilteredRoute
은 반드시 useState를 사용해야 할까요?
- DateInputContainer에서
formatMonth
는 string을 number로 변환하고 다시 string으로 변환하는 이유가 있을까요?
- ErrorMessage에서 에러 코드에 따른 메시지가 나뉘어져있는데 여러 케이스가 합쳐져 있는 경우가 있어요. 여러 에러 코드가 하나의 메시지로 return 되는 이유가 있을까요?