Add NSFW filter & source search into Merge: Find in another source

This commit is contained in:
Cuong M. Tran 2024-06-10 15:04:47 +07:00
parent b7062738ea
commit 1483b71cf0
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
2 changed files with 16 additions and 6 deletions

View file

@ -68,14 +68,12 @@ import tachiyomi.presentation.core.components.FastScrollLazyColumn
import tachiyomi.presentation.core.components.LabeledCheckbox import tachiyomi.presentation.core.components.LabeledCheckbox
import tachiyomi.presentation.core.components.material.SecondaryItemAlpha import tachiyomi.presentation.core.components.material.SecondaryItemAlpha
import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.components.material.padding
import tachiyomi.presentation.core.components.material.topSmallPaddingValues
import tachiyomi.presentation.core.i18n.stringResource import tachiyomi.presentation.core.i18n.stringResource
import tachiyomi.presentation.core.screens.EmptyScreen import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.LoadingScreen import tachiyomi.presentation.core.screens.LoadingScreen
import tachiyomi.presentation.core.theme.header import tachiyomi.presentation.core.theme.header
import tachiyomi.presentation.core.util.clearFocusOnSoftKeyboardHide import tachiyomi.presentation.core.util.clearFocusOnSoftKeyboardHide
import tachiyomi.presentation.core.util.isScrollingUp import tachiyomi.presentation.core.util.isScrollingUp
import tachiyomi.presentation.core.util.plus
import tachiyomi.presentation.core.util.runOnEnterKeyPressed import tachiyomi.presentation.core.util.runOnEnterKeyPressed
import tachiyomi.presentation.core.util.secondaryItemAlpha import tachiyomi.presentation.core.util.secondaryItemAlpha
import tachiyomi.source.local.LocalSource import tachiyomi.source.local.LocalSource
@ -104,7 +102,9 @@ fun SourcesScreen(
modifier = Modifier.padding(contentPadding), modifier = Modifier.padding(contentPadding),
) )
// KMK --> // KMK -->
else -> Column { else -> Column(
modifier = Modifier.padding(contentPadding),
) {
AnimatedFloatingSearchBox( AnimatedFloatingSearchBox(
listState = lazyListState, listState = lazyListState,
searchQuery = state.searchQuery, searchQuery = state.searchQuery,
@ -115,7 +115,6 @@ fun SourcesScreen(
FastScrollLazyColumn( FastScrollLazyColumn(
state = lazyListState, state = lazyListState,
// KMK <-- // KMK <--
contentPadding = contentPadding + topSmallPaddingValues,
) { ) {
items( items(
items = state.items, items = state.items,

View file

@ -70,7 +70,17 @@ fun Screen.sourcesTab(
), ),
) )
} else { } else {
persistentListOf() // Merge: find in another source
persistentListOf(
// KMK -->
AppBar.Action(
title = stringResource(MR.strings.action_toggle_nsfw_only),
icon = Icons.Outlined._18UpRating,
iconTint = if (state.nsfwOnly) MaterialTheme.colorScheme.error else LocalContentColor.current,
onClick = { screenModel.toggleNsfwOnly() },
),
// KMK <--
)
}, },
// SY <-- // SY <--
content = { contentPadding, snackbarHostState -> content = { contentPadding, snackbarHostState ->
@ -119,8 +129,9 @@ fun Screen.sourcesTab(
onDismiss = screenModel::closeDialog, onDismiss = screenModel::closeDialog,
// KMK --> // KMK -->
onClickSettings = { onClickSettings = {
if (source.installedExtension !== null) if (source.installedExtension !== null) {
navigator.push(ExtensionDetailsScreen(source.installedExtension!!.pkgName)) navigator.push(ExtensionDetailsScreen(source.installedExtension!!.pkgName))
}
screenModel.closeDialog() screenModel.closeDialog()
}, },
// KMK <-- // KMK <--