Fix language in source filter list jumping to top incorrectly
Fixes #9068 (cherry picked from commit f5ad95d78a857c226d53e010e52e8563ecd38f0d) # Conflicts: # app/src/main/java/eu/kanade/presentation/browse/SourcesFilterScreen.kt
This commit is contained in:
@@ -74,7 +74,7 @@ private fun SourcesFilterContent(
|
||||
state.items.forEach { (language, sources) ->
|
||||
val enabled = language in state.enabledLanguages
|
||||
item(
|
||||
key = language.hashCode(),
|
||||
key = language,
|
||||
contentType = "source-filter-header",
|
||||
) {
|
||||
SourcesFilterHeader(
|
||||
@@ -84,35 +84,36 @@ private fun SourcesFilterContent(
|
||||
onClickItem = onClickLanguage,
|
||||
)
|
||||
}
|
||||
if (!enabled) return@forEach
|
||||
// SY -->
|
||||
item(
|
||||
key = "toggle-$language",
|
||||
contentType = "source-filter-toggle",
|
||||
) {
|
||||
val toggleEnabled = remember(state.disabledSources) {
|
||||
sources.none { it.id.toString() in state.disabledSources }
|
||||
if (enabled) {
|
||||
// SY -->
|
||||
item(
|
||||
key = "toggle-$language",
|
||||
contentType = "source-filter-toggle",
|
||||
) {
|
||||
val toggleEnabled = remember(state.disabledSources) {
|
||||
sources.none { it.id.toString() in state.disabledSources }
|
||||
}
|
||||
SourcesFilterToggle(
|
||||
modifier = Modifier.animateItemPlacement(),
|
||||
isEnabled = toggleEnabled,
|
||||
onClickItem = {
|
||||
onClickSources(!toggleEnabled, sources)
|
||||
},
|
||||
)
|
||||
}
|
||||
// SY <--
|
||||
items(
|
||||
items = sources,
|
||||
key = { "source-filter-${it.key()}" },
|
||||
contentType = { "source-filter-item" },
|
||||
) { source ->
|
||||
SourcesFilterItem(
|
||||
modifier = Modifier.animateItemPlacement(),
|
||||
source = source,
|
||||
enabled = "${source.id}" !in state.disabledSources,
|
||||
onClickItem = onClickSource,
|
||||
)
|
||||
}
|
||||
SourcesFilterToggle(
|
||||
modifier = Modifier.animateItemPlacement(),
|
||||
isEnabled = toggleEnabled,
|
||||
onClickItem = {
|
||||
onClickSources(!toggleEnabled, sources)
|
||||
},
|
||||
)
|
||||
}
|
||||
// SY <--
|
||||
items(
|
||||
items = sources,
|
||||
key = { "source-filter-${it.key()}" },
|
||||
contentType = { "source-filter-item" },
|
||||
) { source ->
|
||||
SourcesFilterItem(
|
||||
modifier = Modifier.animateItemPlacement(),
|
||||
source = source,
|
||||
enabled = "${source.id}" !in state.disabledSources,
|
||||
onClickItem = onClickSource,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user