Skip to content

Conversation

@yoorli
Copy link
Member

@yoorli yoorli commented Dec 22, 2025

📝 변경 사항

src/components/pages/signup/signup-form/index.tsx

  • 회원가입 입력 UX 개선
    • 이메일/닉네임 중복 확인 흐름을 추가하고, 중복 확인 결과에 따라 제출 가능 여부를 제어
    • 약관 동의 UI 연동을 위해 useModal 기반 모달 오픈 흐름을 추가
    • 중복 확인을 위한 메시지/상태(확인 중, 가능, 불가, 오류) 표시 흐름을 적용

src/components/shared/form-input/index.tsx

  • FormInput에 중복 확인 버튼(Availability Button) UI를 추가
    • 이메일/닉네임 필드 구분에 따른 버튼 렌더링 및 상태별 문구 처리
    • 중복 확인 상태에 맞춘 버튼 비활성화/로딩 문구 처리

src/hooks/use-auth/use-auth-availabilityCheck/index.ts

  • 이메일/닉네임 중복 확인 전용 훅(useAvailabilityCheck) 추가
    • idle / checking / available / unavailable / error 상태 모델링
    • API 호출 및 상태/메시지 관리 로직을 캡슐화하여 회원가입 폼에서 재사용 가능하게 구성

src/hooks/use-auth/use-auth-login/index.ts

  • 로그인 성공 후 이동 로직 개선
    • 기존 고정 이동(router.push('/')) 대신, 쿼리스트링 path 값을 기반으로 로그인 이전 페이지로 복귀하도록 변경
    • 외부 URL/이상 경로 방지를 위한 경로 정규화(normalizePath) 후 router.replace(nextPath) 적용

src/components/pages/login/login-toast-effect/index.tsx

  • 로그인 페이지 토스트 UX 개선
    • 기존 임시 문구 노출을 제거하고, error 쿼리 존재 시 토스트로 “로그인이 필요한 서비스입니다.” 안내
    • 동일 에러 중복 실행 방지를 위해 useRef로 마지막 에러를 저장하여 중복 토스트 방지

src/app/login/page.tsx / src/components/pages/login/index.ts

  • 로그인 페이지에서 LoginToastEffect를 연결하고, 로그인 관련 페이지 export 정리

src/hooks/use-auth/use-auth-refresh/index.ts

  • 인증 흐름 테스트/확인을 위한 useRefresh 훅 추가 및 export
  • 임시 테스트 버튼 컴포넌트에서 refresh 동작을 확인할 수 있도록 연결

src/app/login/_temp/login-temp-actions.tsx

  • 기능 확인을 위한 임시 액션(로그아웃/회원탈퇴/리프레시) 구성 보강
    • useRefresh를 연결하여 refresh 동작 확인 가능

src/components/pages/signup/signup-agreement-modal/index.tsx

  • 약관 동의 모달 UI 신규 추가
    • ModalContent, ModalTitle 기반으로 약관 동의 내용을 모달로 노출할 수 있도록 구성

src/lib/schema/auth.ts

  • 회원가입 스키마 유효성 강화
    • 비밀번호: 특수문자 조건 외에 숫자 1개 이상 포함 조건 추가
    • confirmPassword 필드: 최소 1자(필수) 메시지 추가
    • termsAgreement: z.literal(true) 및 refine로 약관 동의 필수 검증 및 메시지 추가

public/icons/dynamic/icon-check.svg / public/icons/sprite.svg / src/components/icon/index.tsx

  • 약관 동의/체크 UI를 위한 check 아이콘(dynamc) 추가 및 아이콘 메타데이터 등록

🔗 관련 이슈

#160


🧪 테스트 방법

  • 수동 테스트 검증(로컬 환경)
  • 유닛 테스트 검증
  • 통합 테스트 검증

📸 스크린샷 (선택)


📋 체크리스트

  • 관련 문서를 업데이트했습니다 (필요한 경우)
  • 테스트를 추가/수정했습니다 (필요한 경우)
  • Breaking change가 있다면 명시했습니다

💬 추가 코멘트

제 pr이 너무 늦어지는거 같아서 일단 중간부분까지만 먼저 올립니다.
나머지 부분은 form-input 구조 변경 후에 같이 올릴게요.
지금 코드가 엄청 더러운데, 구조 변경 하면 변경되는 부분이 많아서 그냥 냅두고 기능 확인만 했습니다.


CodeRabbit Review는 자동으로 실행되지 않습니다.

Review를 실행하려면 comment에 아래와 같이 작성해주세요

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 22, 2025

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch yoolri-feat/input

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

🎭 Playwright Report

E2E Test가 성공적으로 완료되었습니다.

Test 요약 내용을 확인해주세요.

Status Build Log Updated (UTC)
✅ Ready View Build 2025-12-22 08:29:57

📊 Test Summary

  • ✅ Passed: 9
  • ❌ Failed: 0
  • ⏱️ Duration: 79.7s

📜 Test Details

✅ Passed Tests (9)
  • profile.test.ts (9)
    • [chromium] 비로그인 상태에서 /mypage 접속 시 /login으로 redirect 되는 지 테스트
    • [chromium] 나의 프로필 페이지로 접속 시 /mypage로 /redirect 되는 지 테스트
    • [chromium] 존재하지 않는 프로필 페이지로 접속 시 404 redirect 되는 지 테스트
    • [firefox] 비로그인 상태에서 /mypage 접속 시 /login으로 redirect 되는 지 테스트
    • [firefox] 나의 프로필 페이지로 접속 시 /mypage로 /redirect 되는 지 테스트
    • [firefox] 존재하지 않는 프로필 페이지로 접속 시 404 redirect 되는 지 테스트
    • [webkit] 비로그인 상태에서 /mypage 접속 시 /login으로 redirect 되는 지 테스트
    • [webkit] 나의 프로필 페이지로 접속 시 /mypage로 /redirect 되는 지 테스트
    • [webkit] 존재하지 않는 프로필 페이지로 접속 시 404 redirect 되는 지 테스트

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

🎨 Storybook Report

Story가 변경되었습니다

Chromatic에서 비주얼 변경사항을 확인하세요.

Status Storybook Build Log Updated (UTC)
✅ Ready View Storybook View Build 2025-12-22 08:29:22

@github-actions github-actions bot requested a review from Chiman2937 December 22, 2025 08:27
@github-actions
Copy link

github-actions bot commented Dec 22, 2025

📊 Coverage Report

Status Build Log Updated (UTC)
✅ Ready View Build 2025-12-22 08:28:07

📉 #227main에 병합하면 coverage가 1.82% 감소합니다.

Coverage 요약

@@             Coverage Diff             @@
##             main     #227       +/-   ##
===========================================
- Coverage   33.40%   31.58%    -1.82%     
===========================================
  Files         158      162        +4     
  Lines        6759     7164      +405     
  Branches      250      254        +4     
===========================================
+ Hits         2258     2263        +5     
+ Misses       4501     4901      +400     

영향받은 파일

이 PR로 영향받은 파일이 없습니다

수정된 모든 파일이 현재 coverage를 유지했습니다.

@github-actions
Copy link

github-actions bot commented Dec 22, 2025

🚀 PR Preview Report

Build가 성공적으로 완료되었습니다.

Preview에서 변경사항을 확인하세요.

Status Preview Build Log Updated (UTC)
✅ Ready Visit Preview View Logs 2025-12-22 08:29:23

@yoorli yoorli added the Ready For Review! 리뷰 받을 준비가 되었습니다. label Dec 22, 2025
Copy link
Member

@Chiman2937 Chiman2937 left a comment

Choose a reason for hiding this comment

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

수고하셨습니다~

@yoorli yoorli merged commit 020cd25 into main Dec 22, 2025
10 checks passed
@yoorli yoorli deleted the yoolri-feat/input branch December 22, 2025 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ready For Review! 리뷰 받을 준비가 되었습니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants