Skip to content

[#569] TodoManageView에 TCA를 적용한다#587

Merged
opficdev merged 5 commits into
developfrom
refactor/#569-TodoManageView
Jun 11, 2026
Merged

[#569] TodoManageView에 TCA를 적용한다#587
opficdev merged 5 commits into
developfrom
refactor/#569-TodoManageView

Conversation

@opficdev

Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

TodoManageView의 상태 관리 방식을 StorePattern 기반 TodoManageViewModel에서 TCA 기반 feature/store 구조로 전환하기 위함

📝 작업 내용

📌 요약

  • TodoManageView에 TCA 적용
  • TodoManageViewModel 제거 및 TodoManageFeature 추가
  • 카테고리 추가/수정/삭제, 정렬, 표시 여부 토글 로직을 reducer로 이관
  • TodoManageFeatureTests 추가
  • TCA 패키지 버전을 1.25.5 마이너 범위 허용 형태로 조정

🔍 상세

  • TodoManageFeature.Statepreferences, categorySheet, alert 상태 구성
  • CategorySheetState를 통해 카테고리 편집 관련 파생 상태와 검증 로직 관리
  • TodoManageView에서 StoreOf<TodoManageFeature>를 직접 생성하고 sheet/alert를 TCA presentation API로 연결
  • 기존 TodoManageViewModel 제거 및 HomeViewCoordinator의 view model 생성 코드 제거
  • HomeView에서 TodoManageView 생성자 변경에 맞춰 호출부 정리
  • 항목 이동, 표시 여부 토글, 사용자 카테고리 추가/수정/삭제 흐름을 TCA action으로 이관
  • TodoManageFeatureTests를 통해 주요 사용자 흐름 검증 추가
  • Project+Packages.swift에서 TCA 버전 제약을 마이너 범위 허용 형태로 조정

📸 영상 / 이미지 (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에서는 기존의 TodoManageViewModel을 Composable Architecture(TCA) 기반의 TodoManageFeature로 리팩토링하고 관련 뷰 및 테스트 코드를 추가하였습니다. 리뷰에서는 Reducer 내부에서 UUID()를 직접 호출하여 테스트 결정성이 깨지는 문제를 해결하기 위해 @Dependency(\.uuid) 사용을 권장하였으며, 사용자가 시트를 쓸어내려 닫을 때 변경사항이 유실되는 문제를 방지하기 위해 .interactiveDismissDisabled() 적용을 제안했습니다.

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 d49b7e9 into develop Jun 11, 2026
5 checks passed
@opficdev opficdev deleted the refactor/#569-TodoManageView branch June 11, 2026 06: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.

TodoManageView에 TCA를 적용한다

1 participant