diff --git a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt index 34b8f74e1..bcc43ca7d 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/BrowseSourceScreen.kt @@ -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( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index bd31d53d9..ed25e9327 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -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 } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index eb67889e2..044169bea 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -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 { @@ -184,6 +189,7 @@ open class BrowseSourcePresenter( } } + // SY --> @Composable open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State { return produceState(initialValue = initialMetadata, manga.id) { @@ -195,6 +201,7 @@ open class BrowseSourcePresenter( } } } + // SY <-- fun setFilter(filters: FilterList) { state.filters = filters