Revert "Move to ScreenModel"

This reverts commit b61a6adeb76cd49805f6fa9d731b55e7643204b6.
This commit is contained in:
AntsyLich 2024-10-12 08:05:58 +06:00
parent b61a6adeb7
commit 6e5d498ea5
No known key found for this signature in database
2 changed files with 7 additions and 14 deletions

View File

@ -72,7 +72,6 @@ fun UpcomingScreenContent(
setSelectedYearMonth = setSelectedYearMonth,
onClickDay = { onClickDay(it, 0) },
onClickUpcoming = onClickUpcoming,
mangaCountMap = state.mangaCountMap,
)
} else {
UpcomingScreenSmallImpl(
@ -84,7 +83,6 @@ fun UpcomingScreenContent(
setSelectedYearMonth = setSelectedYearMonth,
onClickDay = { onClickDay(it, 1) },
onClickUpcoming = onClickUpcoming,
mangaCountMap = state.mangaCountMap,
)
}
}
@ -146,7 +144,6 @@ private fun UpcomingScreenSmallImpl(
setSelectedYearMonth: (YearMonth) -> Unit,
onClickDay: (LocalDate) -> Unit,
onClickUpcoming: (manga: Manga) -> Unit,
mangaCountMap: ImmutableMap<LocalDate, Int>,
) {
FastScrollLazyColumn(
contentPadding = paddingValues,
@ -178,7 +175,8 @@ private fun UpcomingScreenSmallImpl(
)
}
is UpcomingUIModel.Header -> {
val mangaCount = mangaCountMap[item.date] ?: 0
val mangaCount = items.filterIsInstance<UpcomingUIModel.Item>()
.count { it.manga.expectedNextUpdate?.toLocalDate() == item.date }
DateHeading(
date = item.date,
@ -200,7 +198,6 @@ private fun UpcomingScreenLargeImpl(
setSelectedYearMonth: (YearMonth) -> Unit,
onClickDay: (LocalDate) -> Unit,
onClickUpcoming: (manga: Manga) -> Unit,
mangaCountMap: ImmutableMap<LocalDate, Int>,
) {
TwoPanelBox(
modifier = Modifier.padding(paddingValues),
@ -232,7 +229,8 @@ private fun UpcomingScreenLargeImpl(
)
}
is UpcomingUIModel.Header -> {
val mangaCount = mangaCountMap[item.date] ?: 0
val mangaCount = items.filterIsInstance<UpcomingUIModel.Item>()
.count { it.manga.expectedNextUpdate?.toLocalDate() == item.date }
DateHeading(
date = item.date,

View File

@ -28,17 +28,13 @@ class UpcomingScreenModel(
init {
screenModelScope.launch {
getUpcomingManga.subscribe().collectLatest { mangaList ->
getUpcomingManga.subscribe().collectLatest {
mutableState.update { state ->
val upcomingItems = mangaList.toUpcomingUIModels()
val mangaCountMap = mangaList.groupBy { it.expectedNextUpdate?.toLocalDate() ?: LocalDate.MAX }
.mapValues { it.value.size }
.toImmutableMap()
val upcomingItems = it.toUpcomingUIModels()
state.copy(
items = upcomingItems,
events = mangaList.toEvents(),
events = it.toEvents(),
headerIndexes = upcomingItems.getHeaderIndexes(),
mangaCountMap = mangaCountMap
)
}
}
@ -87,6 +83,5 @@ class UpcomingScreenModel(
val items: ImmutableList<UpcomingUIModel> = persistentListOf(),
val events: ImmutableMap<LocalDate, Int> = persistentMapOf(),
val headerIndexes: ImmutableMap<LocalDate, Int> = persistentMapOf(),
val mangaCountMap: ImmutableMap<LocalDate, Int> = persistentMapOf(),
)
}