Make sure random library sort is at the bottom

(cherry picked from commit 2e2c8d36c1e23bf274c7c19f1242e14b0c7afbc1)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
This commit is contained in:
AntsyLich 2024-10-15 05:00:56 +06:00 committed by Jobobby04
parent 95ae5211a7
commit 91d61a75e3
2 changed files with 30 additions and 22 deletions

View File

@ -200,40 +200,47 @@ private fun ColumnScope.SortPage(
globalSortMode.type globalSortMode.type
} }
val sortDescending = if (screenModel.grouping == LibraryGroup.BY_DEFAULT) { val sortDescending = if (screenModel.grouping == LibraryGroup.BY_DEFAULT) {
category.sort.isAscending !category.sort.isAscending
} else { } else {
globalSortMode.isAscending !globalSortMode.isAscending
}.not() }
val hasSortTags by remember { val hasSortTags by remember {
screenModel.libraryPreferences.sortTagsForLibrary().changes() screenModel.libraryPreferences.sortTagsForLibrary().changes()
.map { it.isNotEmpty() } .map { it.isNotEmpty() }
}.collectAsState(initial = screenModel.libraryPreferences.sortTagsForLibrary().get().isNotEmpty()) }.collectAsState(initial = screenModel.libraryPreferences.sortTagsForLibrary().get().isNotEmpty())
// SY <-- // SY <--
val trackerSortOption = if (trackers.isEmpty()) { val options = remember(trackers.isEmpty()/* SY --> */, hasSortTags/* SY <-- */) {
emptyList() val trackerMeanPair = if (trackers.isNotEmpty()) {
} else { MR.strings.action_sort_tracker_score to LibrarySort.Type.TrackerMean
listOf(MR.strings.action_sort_tracker_score to LibrarySort.Type.TrackerMean) } else {
} null
}
listOfNotNull(
MR.strings.action_sort_alpha to LibrarySort.Type.Alphabetical,
MR.strings.action_sort_total to LibrarySort.Type.TotalChapters,
MR.strings.action_sort_last_read to LibrarySort.Type.LastRead,
MR.strings.action_sort_last_manga_update to LibrarySort.Type.LastUpdate,
MR.strings.action_sort_unread_count to LibrarySort.Type.UnreadCount,
MR.strings.action_sort_latest_chapter to LibrarySort.Type.LatestChapter,
MR.strings.action_sort_chapter_fetch_date to LibrarySort.Type.ChapterFetchDate,
MR.strings.action_sort_date_added to LibrarySort.Type.DateAdded,
MR.strings.action_sort_random to LibrarySort.Type.Random,
// SY --> // SY -->
if (hasSortTags) { val tagSortPair = if (hasSortTags) {
SYMR.strings.tag_sorting to LibrarySort.Type.TagList SYMR.strings.tag_sorting to LibrarySort.Type.TagList
} else { } else {
null null
}, }
// SY <-- // SY <--
).plus(trackerSortOption).map { (titleRes, mode) -> listOfNotNull(
MR.strings.action_sort_alpha to LibrarySort.Type.Alphabetical,
MR.strings.action_sort_total to LibrarySort.Type.TotalChapters,
MR.strings.action_sort_last_read to LibrarySort.Type.LastRead,
MR.strings.action_sort_last_manga_update to LibrarySort.Type.LastUpdate,
MR.strings.action_sort_unread_count to LibrarySort.Type.UnreadCount,
MR.strings.action_sort_latest_chapter to LibrarySort.Type.LatestChapter,
MR.strings.action_sort_chapter_fetch_date to LibrarySort.Type.ChapterFetchDate,
MR.strings.action_sort_date_added to LibrarySort.Type.DateAdded,
trackerMeanPair,
// SY -->
tagSortPair,
// SY <--
MR.strings.action_sort_random to LibrarySort.Type.Random,
)
}
options.map { (titleRes, mode) ->
if (mode == LibrarySort.Type.Random) { if (mode == LibrarySort.Type.Random) {
BaseSortItem( BaseSortItem(
label = stringResource(titleRes), label = stringResource(titleRes),

View File

@ -91,6 +91,7 @@ import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.ui.webview.WebViewActivity
import eu.kanade.tachiyomi.util.system.hasDisplayCutout import eu.kanade.tachiyomi.util.system.hasDisplayCutout
import eu.kanade.tachiyomi.util.system.isNightMode import eu.kanade.tachiyomi.util.system.isNightMode
import eu.kanade.tachiyomi.util.system.openInBrowser
import eu.kanade.tachiyomi.util.system.toShareIntent import eu.kanade.tachiyomi.util.system.toShareIntent
import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.view.setComposeContent import eu.kanade.tachiyomi.util.view.setComposeContent