Fix missing downloaded only/incognito banners in Browse Source (#7936)
(cherry picked from commit 99270e370e1aba37c3ab5d8954363dd335ca0353) # Conflicts: # app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
This commit is contained in:
parent
1ffba5b989
commit
25ad9c7fab
@ -2,6 +2,7 @@ package eu.kanade.presentation.browse
|
||||
|
||||
import androidx.compose.foundation.horizontalScroll
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
@ -41,8 +42,10 @@ import eu.kanade.presentation.browse.components.BrowseSourceCompactGrid
|
||||
import eu.kanade.presentation.browse.components.BrowseSourceEHentaiList
|
||||
import eu.kanade.presentation.browse.components.BrowseSourceList
|
||||
import eu.kanade.presentation.browse.components.BrowseSourceToolbar
|
||||
import eu.kanade.presentation.components.DownloadedOnlyModeBanner
|
||||
import eu.kanade.presentation.components.EmptyScreen
|
||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
||||
import eu.kanade.presentation.components.IncognitoModeBanner
|
||||
import eu.kanade.presentation.components.LoadingScreen
|
||||
import eu.kanade.presentation.components.Scaffold
|
||||
import eu.kanade.tachiyomi.R
|
||||
@ -65,6 +68,8 @@ fun BrowseSourceScreen(
|
||||
// SY -->
|
||||
onSettingsClick: () -> Unit,
|
||||
// SY <--
|
||||
incognitoMode: Boolean,
|
||||
downloadedOnlyMode: Boolean,
|
||||
) {
|
||||
val columns by presenter.getColumnsPreferenceForCurrentOrientation()
|
||||
|
||||
@ -80,20 +85,28 @@ fun BrowseSourceScreen(
|
||||
|
||||
Scaffold(
|
||||
topBar = { scrollBehavior ->
|
||||
BrowseSourceToolbar(
|
||||
state = presenter,
|
||||
source = presenter.source!!,
|
||||
displayMode = presenter.displayMode.takeUnless { presenter.source!!.isEhBasedSource() && presenter.ehentaiBrowseDisplayMode },
|
||||
onDisplayModeChange = { presenter.displayMode = it },
|
||||
navigateUp = navigateUp,
|
||||
onWebViewClick = onWebViewClick,
|
||||
onHelpClick = onHelpClick,
|
||||
onSearch = { presenter.search() },
|
||||
// SY -->
|
||||
onSettingsClick = onSettingsClick,
|
||||
// SY <--
|
||||
scrollBehavior = scrollBehavior,
|
||||
)
|
||||
Column {
|
||||
BrowseSourceToolbar(
|
||||
state = presenter,
|
||||
source = presenter.source!!,
|
||||
displayMode = presenter.displayMode.takeUnless { presenter.source!!.isEhBasedSource() && presenter.ehentaiBrowseDisplayMode },
|
||||
onDisplayModeChange = { presenter.displayMode = it },
|
||||
navigateUp = navigateUp,
|
||||
onWebViewClick = onWebViewClick,
|
||||
onHelpClick = onHelpClick,
|
||||
onSearch = { presenter.search() },
|
||||
// SY -->
|
||||
onSettingsClick = onSettingsClick,
|
||||
// SY <--
|
||||
scrollBehavior = scrollBehavior,
|
||||
)
|
||||
if (downloadedOnlyMode) {
|
||||
DownloadedOnlyModeBanner()
|
||||
}
|
||||
if (incognitoMode) {
|
||||
IncognitoModeBanner()
|
||||
}
|
||||
}
|
||||
},
|
||||
floatingActionButton = {
|
||||
BrowseSourceFloatingActionButton(
|
||||
|
@ -143,6 +143,8 @@ open class BrowseSourceController(bundle: Bundle) :
|
||||
router.pushController(SourcePreferencesController(presenter.source!!.id))
|
||||
},
|
||||
// SY <--
|
||||
incognitoMode = presenter.isIncognitoMode,
|
||||
downloadedOnlyMode = presenter.isDownloadOnly,
|
||||
)
|
||||
|
||||
val onDismissRequest = { presenter.dialog = null }
|
||||
|
@ -135,7 +135,12 @@ open class BrowseSourcePresenter(
|
||||
|
||||
var displayMode by preferences.sourceDisplayMode().asState()
|
||||
|
||||
val isDownloadOnly: Boolean by preferences.downloadedOnly().asState()
|
||||
val isIncognitoMode: Boolean by preferences.incognitoMode().asState()
|
||||
|
||||
// SY -->
|
||||
val ehentaiBrowseDisplayMode by preferences.enhancedEHentaiView().asState()
|
||||
// SY <--
|
||||
|
||||
@Composable
|
||||
fun getColumnsPreferenceForCurrentOrientation(): State<GridCells> {
|
||||
@ -184,6 +189,7 @@ open class BrowseSourcePresenter(
|
||||
}
|
||||
}
|
||||
|
||||
// SY -->
|
||||
@Composable
|
||||
open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State<RaisedSearchMetadata?> {
|
||||
return produceState(initialValue = initialMetadata, manga.id) {
|
||||
@ -195,6 +201,7 @@ open class BrowseSourcePresenter(
|
||||
}
|
||||
}
|
||||
}
|
||||
// SY <--
|
||||
|
||||
fun setFilter(filters: FilterList) {
|
||||
state.filters = filters
|
||||
|
Loading…
x
Reference in New Issue
Block a user