From 900d5bf822bc8249a695dc8f8cf95666b704b88a Mon Sep 17 00:00:00 2001 From: MUEDSA <7676275+muedsa@users.noreply.github.com> Date: Fri, 3 Nov 2023 13:31:30 +0800 Subject: [PATCH] update: rank screen loading & error & change year --- .../ui/features/home/rank/RankAnimeWidget.kt | 2 +- .../agetv/ui/features/home/rank/RankScreen.kt | 15 +++++++++------ .../com/muedsa/agetv/viewmodel/RankViewModel.kt | 1 + 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankAnimeWidget.kt b/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankAnimeWidget.kt index f5a1552..3bb9dc1 100644 --- a/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankAnimeWidget.kt +++ b/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankAnimeWidget.kt @@ -34,7 +34,7 @@ fun RankAnimeWidget( .weight(1f) .padding(8.dp) .wrapContentWidth(Alignment.Start), - text = model.title, + text = "${model.no}. ${model.title}", overflow = TextOverflow.Ellipsis, maxLines = 1, color = MaterialTheme.colorScheme.onBackground, diff --git a/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankScreen.kt b/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankScreen.kt index 1d73e38..9541662 100644 --- a/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankScreen.kt +++ b/app/src/main/kotlin/com/muedsa/agetv/ui/features/home/rank/RankScreen.kt @@ -75,6 +75,9 @@ fun RankScreen( ) } if (rankLD.type == LazyType.SUCCESS && !rankLD.data.isNullOrEmpty() && rankLD.data!!.size > 2) { + val dayList = rankLD.data!![0] + val weekList = rankLD.data!![1] + val totalList = rankLD.data!![2] Row { Column( modifier = Modifier @@ -89,7 +92,7 @@ fun RankScreen( style = MaterialTheme.typography.titleLarge ) TvLazyColumn { - items(rankLD.data!![0]) { + items(dayList) { RankAnimeWidget( model = it, onClick = { @@ -117,7 +120,7 @@ fun RankScreen( style = MaterialTheme.typography.titleLarge ) TvLazyColumn { - items(rankLD.data!![1]) { + items(weekList) { RankAnimeWidget( model = it, onClick = { @@ -146,7 +149,7 @@ fun RankScreen( ) TvLazyColumn { - items(rankLD.data!![2]) { + items(totalList) { RankAnimeWidget( model = it, onClick = { @@ -161,12 +164,12 @@ fun RankScreen( } } } - } else if (rankLD.type != LazyType.LOADING) { + } else if (rankLD.type == LazyType.LOADING) { + LoadingScreen() + } else { ErrorScreen { viewModel.fetchRank() } - } else { - LoadingScreen() } } diff --git a/app/src/main/kotlin/com/muedsa/agetv/viewmodel/RankViewModel.kt b/app/src/main/kotlin/com/muedsa/agetv/viewmodel/RankViewModel.kt index 721e57c..abe5ef4 100644 --- a/app/src/main/kotlin/com/muedsa/agetv/viewmodel/RankViewModel.kt +++ b/app/src/main/kotlin/com/muedsa/agetv/viewmodel/RankViewModel.kt @@ -24,6 +24,7 @@ class RankViewModel @Inject constructor( val rankLDState = mutableStateOf>>>(LazyData.init()) fun fetchRank() { + rankLDState.value = LazyData.init() viewModelScope.launch(context = Dispatchers.IO) { try { rankLDState.value =