mirror of
https://github.com/mihonapp/mihon.git
synced 2025-02-12 10:08:55 +01:00
Revert "Move to ScreenModel"
This reverts commit b61a6adeb76cd49805f6fa9d731b55e7643204b6.
This commit is contained in:
parent
b61a6adeb7
commit
6e5d498ea5
@ -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,
|
||||
|
@ -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(),
|
||||
)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user