diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt index fcec11c7d..a976b027d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt @@ -188,22 +188,24 @@ private fun FilterItem(filter: Filter<*>, onUpdate: () -> Unit/* SY --> */, star ) { Column { filter.values.mapIndexed { index, item -> + val sortAscending = filter.state?.ascending + ?.takeIf { index == filter.state?.index } SortItem( label = item, - sortDescending = filter.state?.ascending?.not() - ?.takeIf { index == filter.state?.index }, - ) { - val ascending = if (index == filter.state?.index) { - !filter.state!!.ascending - } else { - filter.state!!.ascending - } - filter.state = Filter.Sort.Selection( - index = index, - ascending = ascending, - ) - onUpdate() - } + sortDescending = if (sortAscending != null) !sortAscending else null, + onClick = { + val ascending = if (index == filter.state?.index) { + !filter.state!!.ascending + } else { + filter.state?.ascending ?: true + } + filter.state = Filter.Sort.Selection( + index = index, + ascending = ascending, + ) + onUpdate() + }, + ) } } }