186: Simplify ordering logic r=msfjarvis a=msfjarvis

bors r+

Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
bors[bot] 2021-04-03 09:09:40 +00:00 committed by GitHub
commit bc9ad69260
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 12 deletions

View file

@ -35,7 +35,7 @@ fun SavedPosts(
) { ) {
val listState = rememberLazyListState() val listState = rememberLazyListState()
val urlLauncher = LocalUrlLauncher.current val urlLauncher = LocalUrlLauncher.current
val sortOrder by sortReversed.collectAsState(false) val reverseSort by sortReversed.collectAsState(false)
if (posts.isEmpty()) { if (posts.isEmpty()) {
Column( Column(
@ -56,19 +56,16 @@ fun SavedPosts(
state = listState, state = listState,
modifier = Modifier.then(modifier), modifier = Modifier.then(modifier),
) { ) {
val grouped = val grouped = posts.groupBy { it.createdAt.asZonedDateTime().month }.toMutableMap()
posts.groupBy { it.createdAt.asZonedDateTime().month }.apply { if (reverseSort) {
if (sortOrder) { val copy = grouped.toMap()
toSortedMap( grouped.clear()
Comparator { first, second -> copy.keys.reversed().forEach { month ->
return@Comparator if (first > second) -1 else if (first < second) 1 else 0 grouped[month] = requireNotNull(copy[month]).reversed()
}
)
}
} }
}
grouped.forEach { (month, posts) -> grouped.forEach { (month, posts) ->
stickyHeader { MonthHeader(month = month) } stickyHeader { MonthHeader(month = month) }
@Suppress("NAME_SHADOWING") val posts = if (sortOrder) posts.reversed() else posts
items(posts) { item -> items(posts) { item ->
LobstersItem( LobstersItem(
post = item, post = item,

View file

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionSha256Sum=9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7 distributionSha256Sum=a52ad940d4dd2abdee5c7f4486788b6b3859daa7e260c08c1c18eec8cba297e6
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-rc-1-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-rc-1-all.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists