Feature/refactor group #102
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PULL REQUEST
GroupDetailScreen 전반의 UI 임시 모델을 제거하고 도메인 모델로 전환했으며, ViewModel을 적용하여 상태 기반 UI로 리팩터링했습니다.
Description
임시 모델 제거 및 도메인 모델 전환
Member,GroupSchedule을 제거하고,core:model모듈에 정의된 도메인 모델GroupMember,GroupSchedule로 일괄 교체했습니다.UI 컴포저블 개선
MemberAvatarCard컴포저블이 더 이상Member를 받지 않고,GroupMember를 직접 사용하도록 변경했습니다.GroupMember.profileImage의 타입인MemberProfileImage에 대해 UI 렌더링을 위한 확장 함수painter()와backgroundColor()를core:ui모듈에 추가하여,도메인 모델과 UI 렌더링 간 연결 지점을 명확하게 정의했습니다.
ScheduleCard는 다음과 같은 파라미터 타입 변경을 반영했습니다:time: Long→time: LocalDateTimelocation: String→location: LocationViewModel 도입 및 상태 기반 UI 구조화
GroupDetailViewModel을 새로 생성하여 다음 로직을 담당합니다:GroupRepository로부터 그룹 상세 정보를 비동기 로드하고,GroupDetailUiState로 변환해 상태 관리ScheduleRepository로부터 약속 목록을 Paging 방식으로 가져와LazyPagingRow에 대응SavedStateHandle을 통해groupId를 안전하게 추출하여 로딩에 활용모듈 구조 개선
feature:groups모듈명을feature:group-detail로 변경하고, 이에 따른 패키지명, 네임스페이스,settings.gradle.kts,build.gradle.kts를 모두 수정했습니다.결과적으로 기대되는 효과