mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-17 08:37:03 +05:30
Merge #186
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:
commit
bc9ad69260
2 changed files with 9 additions and 12 deletions
|
@ -35,7 +35,7 @@ fun SavedPosts(
|
|||
) {
|
||||
val listState = rememberLazyListState()
|
||||
val urlLauncher = LocalUrlLauncher.current
|
||||
val sortOrder by sortReversed.collectAsState(false)
|
||||
val reverseSort by sortReversed.collectAsState(false)
|
||||
|
||||
if (posts.isEmpty()) {
|
||||
Column(
|
||||
|
@ -56,19 +56,16 @@ fun SavedPosts(
|
|||
state = listState,
|
||||
modifier = Modifier.then(modifier),
|
||||
) {
|
||||
val grouped =
|
||||
posts.groupBy { it.createdAt.asZonedDateTime().month }.apply {
|
||||
if (sortOrder) {
|
||||
toSortedMap(
|
||||
Comparator { first, second ->
|
||||
return@Comparator if (first > second) -1 else if (first < second) 1 else 0
|
||||
}
|
||||
)
|
||||
}
|
||||
val grouped = posts.groupBy { it.createdAt.asZonedDateTime().month }.toMutableMap()
|
||||
if (reverseSort) {
|
||||
val copy = grouped.toMap()
|
||||
grouped.clear()
|
||||
copy.keys.reversed().forEach { month ->
|
||||
grouped[month] = requireNotNull(copy[month]).reversed()
|
||||
}
|
||||
}
|
||||
grouped.forEach { (month, posts) ->
|
||||
stickyHeader { MonthHeader(month = month) }
|
||||
@Suppress("NAME_SHADOWING") val posts = if (sortOrder) posts.reversed() else posts
|
||||
items(posts) { item ->
|
||||
LobstersItem(
|
||||
post = item,
|
||||
|
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionSha256Sum=9af5c8e7e2cd1a3b0f694a4ac262b9f38c75262e74a9e8b5101af302a6beadd7
|
||||
distributionSha256Sum=a52ad940d4dd2abdee5c7f4486788b6b3859daa7e260c08c1c18eec8cba297e6
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-rc-1-all.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue