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.horizontalScroll
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.navigationBarsPadding
|
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.BrowseSourceEHentaiList
|
||||||
import eu.kanade.presentation.browse.components.BrowseSourceList
|
import eu.kanade.presentation.browse.components.BrowseSourceList
|
||||||
import eu.kanade.presentation.browse.components.BrowseSourceToolbar
|
import eu.kanade.presentation.browse.components.BrowseSourceToolbar
|
||||||
|
import eu.kanade.presentation.components.DownloadedOnlyModeBanner
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
||||||
|
import eu.kanade.presentation.components.IncognitoModeBanner
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
import eu.kanade.presentation.components.Scaffold
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
@ -65,6 +68,8 @@ fun BrowseSourceScreen(
|
|||||||
// SY -->
|
// SY -->
|
||||||
onSettingsClick: () -> Unit,
|
onSettingsClick: () -> Unit,
|
||||||
// SY <--
|
// SY <--
|
||||||
|
incognitoMode: Boolean,
|
||||||
|
downloadedOnlyMode: Boolean,
|
||||||
) {
|
) {
|
||||||
val columns by presenter.getColumnsPreferenceForCurrentOrientation()
|
val columns by presenter.getColumnsPreferenceForCurrentOrientation()
|
||||||
|
|
||||||
@ -80,20 +85,28 @@ fun BrowseSourceScreen(
|
|||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
topBar = { scrollBehavior ->
|
topBar = { scrollBehavior ->
|
||||||
BrowseSourceToolbar(
|
Column {
|
||||||
state = presenter,
|
BrowseSourceToolbar(
|
||||||
source = presenter.source!!,
|
state = presenter,
|
||||||
displayMode = presenter.displayMode.takeUnless { presenter.source!!.isEhBasedSource() && presenter.ehentaiBrowseDisplayMode },
|
source = presenter.source!!,
|
||||||
onDisplayModeChange = { presenter.displayMode = it },
|
displayMode = presenter.displayMode.takeUnless { presenter.source!!.isEhBasedSource() && presenter.ehentaiBrowseDisplayMode },
|
||||||
navigateUp = navigateUp,
|
onDisplayModeChange = { presenter.displayMode = it },
|
||||||
onWebViewClick = onWebViewClick,
|
navigateUp = navigateUp,
|
||||||
onHelpClick = onHelpClick,
|
onWebViewClick = onWebViewClick,
|
||||||
onSearch = { presenter.search() },
|
onHelpClick = onHelpClick,
|
||||||
// SY -->
|
onSearch = { presenter.search() },
|
||||||
onSettingsClick = onSettingsClick,
|
// SY -->
|
||||||
// SY <--
|
onSettingsClick = onSettingsClick,
|
||||||
scrollBehavior = scrollBehavior,
|
// SY <--
|
||||||
)
|
scrollBehavior = scrollBehavior,
|
||||||
|
)
|
||||||
|
if (downloadedOnlyMode) {
|
||||||
|
DownloadedOnlyModeBanner()
|
||||||
|
}
|
||||||
|
if (incognitoMode) {
|
||||||
|
IncognitoModeBanner()
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
floatingActionButton = {
|
floatingActionButton = {
|
||||||
BrowseSourceFloatingActionButton(
|
BrowseSourceFloatingActionButton(
|
||||||
|
@ -143,6 +143,8 @@ open class BrowseSourceController(bundle: Bundle) :
|
|||||||
router.pushController(SourcePreferencesController(presenter.source!!.id))
|
router.pushController(SourcePreferencesController(presenter.source!!.id))
|
||||||
},
|
},
|
||||||
// SY <--
|
// SY <--
|
||||||
|
incognitoMode = presenter.isIncognitoMode,
|
||||||
|
downloadedOnlyMode = presenter.isDownloadOnly,
|
||||||
)
|
)
|
||||||
|
|
||||||
val onDismissRequest = { presenter.dialog = null }
|
val onDismissRequest = { presenter.dialog = null }
|
||||||
|
@ -135,7 +135,12 @@ open class BrowseSourcePresenter(
|
|||||||
|
|
||||||
var displayMode by preferences.sourceDisplayMode().asState()
|
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()
|
val ehentaiBrowseDisplayMode by preferences.enhancedEHentaiView().asState()
|
||||||
|
// SY <--
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun getColumnsPreferenceForCurrentOrientation(): State<GridCells> {
|
fun getColumnsPreferenceForCurrentOrientation(): State<GridCells> {
|
||||||
@ -184,6 +189,7 @@ open class BrowseSourcePresenter(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SY -->
|
||||||
@Composable
|
@Composable
|
||||||
open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State<RaisedSearchMetadata?> {
|
open fun getRaisedSearchMetadata(manga: DomainManga, initialMetadata: RaisedSearchMetadata?): State<RaisedSearchMetadata?> {
|
||||||
return produceState(initialValue = initialMetadata, manga.id) {
|
return produceState(initialValue = initialMetadata, manga.id) {
|
||||||
@ -195,6 +201,7 @@ open class BrowseSourcePresenter(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// SY <--
|
||||||
|
|
||||||
fun setFilter(filters: FilterList) {
|
fun setFilter(filters: FilterList) {
|
||||||
state.filters = filters
|
state.filters = filters
|
||||||
|
Loading…
x
Reference in New Issue
Block a user