Skip to content

Commit 2a27926

Browse files
committed
fix: Fix an issue where the TV show episode list was not displayed
1 parent 882d8f5 commit 2a27926

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/data/model/response/EpisodeListResponse.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ data class EpisodeListResponse(
8484
val status: String,
8585

8686
@param:JsonProperty("overview")
87-
val overview: String,
87+
val overview: String?,
8888

8989
@param:JsonProperty("ancestor_guid")
9090
val ancestorGuid: String,

composeApp/src/commonMain/kotlin/com/jankinwu/fntv/client/ui/screen/TvSeasonDetailScreen.kt

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,23 @@ fun TvSeasonDetailScreen(
112112

113113
val episodeListViewModel: EpisodeListViewModel = koinViewModel()
114114
val episodeListState by episodeListViewModel.uiState.collectAsState()
115-
var episodeList: List<EpisodeListResponse> by remember { mutableStateOf(emptyList()) }
115+
val episodeList = remember(episodeListState) {
116+
when (episodeListState) {
117+
is UiState.Success -> {
118+
(episodeListState as UiState.Success).data
119+
}
120+
121+
is UiState.Error -> {
122+
val message = (episodeListState as UiState.Error).message
123+
logger.e("episodeList request error: $message")
124+
emptyList()
125+
}
126+
127+
else -> {
128+
emptyList()
129+
}
130+
}
131+
}
116132
val personListViewModel: PersonListViewModel = koinViewModel()
117133
val personListState by personListViewModel.uiState.collectAsState()
118134
var personList: List<PersonList> by remember { mutableStateOf(emptyList()) }
@@ -180,18 +196,10 @@ fun TvSeasonDetailScreen(
180196
}
181197
}
182198
LaunchedEffect(itemUiState) {
183-
if (itemUiState is UiState.Success) {
184-
itemData = (itemUiState as UiState.Success<ItemResponse>).data
199+
itemData = if (itemUiState is UiState.Success) {
200+
(itemUiState as UiState.Success<ItemResponse>).data
185201
} else {
186-
itemData = null
187-
}
188-
}
189-
190-
LaunchedEffect(episodeListState) {
191-
if (episodeListState is UiState.Success) {
192-
episodeList = (episodeListState as UiState.Success<List<EpisodeListResponse>>).data
193-
} else {
194-
episodeList = emptyList()
202+
null
195203
}
196204
}
197205

@@ -222,12 +230,10 @@ fun TvSeasonDetailScreen(
222230

223231
is UiState.Error -> {
224232
logger.e("message: ${(personListState as UiState.Error).message}")
225-
personList = emptyList()
226233
castScrollRowItemList = emptyList()
227234
}
228235

229236
else -> {
230-
personList = emptyList()
231237
castScrollRowItemList = emptyList()
232238
}
233239
}
@@ -488,6 +494,7 @@ fun TvEpisodeBody(
488494
}
489495

490496
item {
497+
logger.i("episodeList: $episodeList")
491498
EpisodesScrollRow(
492499
episodes = episodeList,
493500
navigator,

0 commit comments

Comments
 (0)