Skip to content

모바일 앱에 계정 화면과 로그아웃 추가 - #144

Merged
SwimmingRiver merged 1 commit into
developfrom
feat/mobile-logout
Oct 9, 2026
Merged

SwimmingRiver merged 1 commit into
developfrom
feat/mobile-logout

Conversation

@SwimmingRiver

Copy link
Copy Markdown
Owner

Summary

  • 모바일 앱에 로그아웃이 없던 문제 해결(스토어 심사 전 필수). 웹-앱 기능 격차 첫 항목
  • 오늘·목록·캘린더 각 탭 헤더 오른쪽 사람 아이콘 → 계정 화면(로그인 이메일 + 로그아웃 버튼). 탭바는 3개 유지, 이후 계정 삭제도 이 화면에 추가 예정
  • mobile/src/auth/signOut.ts: 예약 로컬 알림 전체 취소 → 구글 로그아웃 → firebase 로그아웃 → React Query 캐시 비우기
    • 알림 취소를 안 하면 다음 로그인 사용자에게 이전 사용자의 마감 알림이 울림
    • 구글 로그아웃을 안 하면 다음 로그인에서 계정 선택 없이 같은 계정으로 들어감
    • 알림 취소·구글 로그아웃 실패는 경고만 남기고 진행, firebase 로그아웃 실패만 오류로 던짐(이때 캐시도 유지)
  • 로그아웃 확인 Alert, 처리 중 버튼 비활성화(중복 탭 방지), 실패 시 안내 Alert
  • 로그인 화면 전환은 기존 onAuthStateChanged → RootNavigator가 처리(별도 navigate 없음)

Test plan

  • signOut 단위 테스트 4건: 호출 순서, 구글 로그아웃 실패 시 계속 진행, 알림 취소 실패 시 계속 진행, firebase 실패 시 throw + 캐시 유지
  • AccountScreen 테스트 5건: 이메일 표시, 확인 시 signOut 호출, 취소 시 미호출, 실패 Alert 후 버튼 재활성화, 처리 중 비활성화
  • mobile 전체 jest 177/177 통과, tsc --noEmit 클린
  • 시뮬레이터/실기기: 헤더 아이콘 → 계정 → 로그아웃 → 로그인 화면 → 다른 구글 계정 선택 가능 확인

🤖 Generated with Claude Code

각 탭 헤더의 사람 아이콘으로 계정 화면에 들어가 로그아웃할 수 있게 한다.
로그아웃 시 이 기기의 예약 알림 취소 → 구글 로그아웃 → firebase 로그아웃 →
쿼리 캐시 비우기 순서로 처리하고, firebase 로그아웃 실패만 사용자에게 알린다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@SwimmingRiver
SwimmingRiver merged commit b5b2c6a into develop Oct 9, 2026
11 checks passed
@SwimmingRiver
SwimmingRiver deleted the feat/mobile-logout branch October 9, 2026 05:44
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