Skip to content

[#572] AccountView에 TCA를 적용한다#589

Merged
opficdev merged 5 commits into
developfrom
refactor/#571-AccountView-TCA
Jun 11, 2026
Merged

[#572] AccountView에 TCA를 적용한다#589
opficdev merged 5 commits into
developfrom
refactor/#571-AccountView-TCA

Conversation

@opficdev

@opficdev opficdev commented Jun 11, 2026

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • AccountView를 기존 AccountViewModel 기반 StorePattern에서 TCA AccountFeature 기반 구조로 전환
  • TodoDetailView처럼 외부에서 주입받는 Store는 @Bindable로 보유하고, 화면 상태와 비동기 효과는 Feature에서 관리하는 형태로 정리

📝 작업 내용

📌 요약

  • AccountFeature 구현 및 상태 전이 테스트 추가
  • AccountViewStoreOf<AccountFeature> 주입 구조로 전환
  • AccountViewModel 제거
  • CategoryManageSheet의 입력 상태를 BindingReducer 기반 binding action으로 정리

🔍 상세

  • 기존 AccountViewModel.StatecurrentProvider, connectedProviders, disconnectedProviders, alert, isLoading 상태를 AccountFeature.State로 이전
  • provider 조회, 연동, 연동 해제, 에러 알림, 소셜 로그인 취소, delayed loading 흐름을 AccountFeatureTests로 검증
  • AccountView에서 @Bindable var store: StoreOf<AccountFeature>를 사용하도록 변경
  • ProfileViewCoordinatormakeAccountStore() 추가
  • MainView, ProfileView의 account route에서 AccountView(store:) 주입
  • CategoryManageFeature.CategorySheetBindableAction으로 변경
  • 카테고리 이름/색상 입력을 BindingReducer()$store binding으로 처리
  • LoginView DependencyKey 수정

📸 영상 / 이미지 (Optional)

@opficdev opficdev self-assigned this Jun 11, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

이번 PR은 기존의 AccountViewModel을 TCA 기반의 AccountFeature로 전환하고, CategoryManageFeatureBindingReducer를 도입하여 상태 관리와 데이터 바인딩을 단순화했습니다. 리뷰 피드백으로는 ProfileViewCoordinator에서 뷰 재평가 시 Store가 매번 재생성되어 상태가 유실되는 문제를 방지하기 위해 스토어를 캐싱할 것과, CategoryManageViewcolorValue 게터에서 비결정론적인 .randomValue 대신 결정론적인 기본 색상을 사용하여 UI 플리커링을 방지할 것을 제안했습니다.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@opficdev opficdev merged commit ad09ae7 into develop Jun 11, 2026
5 checks passed
@opficdev opficdev deleted the refactor/#571-AccountView-TCA branch June 11, 2026 15:18
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.

AccountView에 TCA를 적용한다

1 participant