feat(chat-character): 캐릭터 상세 페이지 API 연동 및 UI 상태 처리

- CharacterApi에 캐릭터 상세 조회 엔드포인트 추가
- CharacterDetailRepository 생성 및 Koin DI 등록
- CharacterDetailViewModel에서 실제 API 호출/로딩/에러 상태 관리
- CharacterDetailActivity에서 loadMock 제거 후 load 호출, Koin 주입으로 전환
- 로딩 다이얼로그 및 에러 토스트 처리 로직 추가
This commit is contained in:
2025-08-13 00:50:33 +09:00
parent ff1e134fe4
commit 0c3bca0f9e
12 changed files with 91 additions and 65 deletions

View File

@@ -67,6 +67,8 @@ import kr.co.vividnext.sodalive.audition.role.AuditionRoleDetailViewModel
import kr.co.vividnext.sodalive.chat.character.CharacterApi
import kr.co.vividnext.sodalive.chat.character.CharacterTabRepository
import kr.co.vividnext.sodalive.chat.character.CharacterTabViewModel
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailRepository
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailViewModel
import kr.co.vividnext.sodalive.chat.talk.TalkApi
import kr.co.vividnext.sodalive.chat.talk.TalkTabRepository
import kr.co.vividnext.sodalive.chat.talk.TalkTabViewModel
@@ -351,6 +353,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
viewModel { PointStatusViewModel(get()) }
viewModel { HomeViewModel(get(), get()) }
viewModel { CharacterTabViewModel(get()) }
viewModel { CharacterDetailViewModel(get()) }
viewModel { TalkTabViewModel(get()) }
}
@@ -397,6 +400,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
factory { PointStatusRepository(get()) }
factory { HomeRepository(get()) }
factory { CharacterTabRepository(get()) }
factory { CharacterDetailRepository(get()) }
factory { TalkTabRepository(get()) }
}