Skip to content

[FEAT] 약관 동의 및 프로필 입력 화면 구현 - #8

Merged
sumin0423 merged 1 commit into
developfrom
feat/terms-consent
Nov 12, 2026
Merged

sumin0423 merged 1 commit into
developfrom
feat/terms-consent

Conversation

@sumin0423

Copy link
Copy Markdown
Contributor

📖 개요

최신 T-02·T-03 시안에 맞춰 약관 동의 및 프로필 입력 화면을 구현했습니다. 로그인 연동 전 화면 흐름을 확인할 수 있도록 기존 카카오·구글·이메일 시작 화면을 제거하고, 첫 접속을 약관 동의로 연결했습니다.

✅ 변경 사항

  • 약관 화면 분리 및 전체·개별 필수 동의 선택, 동의 전 다음 버튼 비활성화
  • 약관 보기 안내와 저장 중·실패·재시도 처리, 중복 제출 차단
  • 프로필 화면 분리 및 이름 2~10자 검증, 선택 과목 복수 선택·해제
  • 공통 TextInput·Chip·ActionButton·Loading과 디자인 토큰 재사용
  • 최초 접속 → 약관 → 프로필 → 홈 흐름 구성, 설정에서 프로필 수정 유지
  • 개발 전용 약관·프로필 정상/저장 중/오류 미리보기 추가
  • 수담 로고 기반 파비콘 지정 및 웹 빌드 반영
  • 화면별 구현 범위와 API 연결 지점을 문서화

🧪 검증

  • npm run typecheck 통과
  • npm run lint 통과
  • npm run format:check 통과
  • npm run build 통과
  • git diff --check 통과

추가 검증

  • 브라우저에서 최초 진입 → 약관 동의 → 프로필 → 홈 이동 확인
  • 필수 동의 차단, 전체/개별 선택 동기화 및 약관 보기 확인
  • 이름 길이·공백 검증, 과목 복수 선택·해제, 프로필 수정 확인
  • 저장 중 입력·중복 제출 차단, 저장 실패 시 입력 유지 및 재시도 확인
  • 320px 화면에서 가로 넘침 없음 확인, 390px에서 과목 한 줄 배치 확인
  • 실제 모바일 기기·시뮬레이터 검증은 수행하지 않음

🖼️ 스크린샷

약관 동의 프로필 입력
약관 동의 프로필 입력

🔗 관련 Issue

연결된 이슈 없음

📂 영향 범위

  • 첫 접속 /는 /terms로 이동하며 기존 로그인 시작 UI는 제거했습니다.
  • /terms, /profile은 기존 OnboardingApp에서 별도 화면으로 분리했습니다.
  • 기본 흐름은 인증·서버 저장 없이 메모리 상태로 동작합니다.
  • /dev/terms, /dev/profile의 scenario=loading, scenario=error로 비동기 상태를 확인할 수 있습니다. 해당 미리보기는 production에서 실제 화면 경로로 이동합니다.
  • 공통 컴포넌트의 구현은 수정하지 않았습니다.

🙋 리뷰 요청 사항

  • T-02·T-03 시안 일치 여부 및 공통 컴포넌트 활용 방식
  • 필수 동의·이름 검증과 저장 중/실패 상태 처리
  • 로그인 연동 전 약관부터 시작하는 임시 진입 흐름

⚠️ 주의 사항

  • 약관 동의 및 프로필 저장 API는 미확정입니다. 현재 서버 요청·영구 저장을 수행하지 않습니다.
  • 약관 원문은 미제공으로 보기에서 미등록 안내를 표시합니다. 실제 법적 동의 절차가 완성된 상태는 아닙니다.
  • 카카오·구글 인증 기능은 미연결입니다. 향후 로그인 화면과 인증 후 사용자 상태별 분기가 필요합니다.
  • 입력 상태는 메모리에만 보관되며 새로고침·앱 재시작 시 초기화됩니다.
  • 미리보기의 인위적인 지연·실패는 개발 전용이며 실제 가입 경로에는 추가하지 않았습니다.

@sumin0423 sumin0423 self-assigned this Nov 11, 2026
@sumin0423
sumin0423 merged commit 6174bf7 into develop Nov 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant