|
|
@@ -76,8 +76,6 @@ import io.legado.app.R
|
|
|
import io.legado.app.constant.BookType
|
|
|
import io.legado.app.data.entities.SearchBook
|
|
|
import io.legado.app.data.entities.BookGroup
|
|
|
-import io.legado.app.ui.config.coverConfig.CoverConfig
|
|
|
-import io.legado.app.ui.config.themeConfig.ThemeConfig
|
|
|
import io.legado.app.ui.main.homepage.modules.BannerModule
|
|
|
import io.legado.app.ui.theme.LegadoTheme
|
|
|
import io.legado.app.ui.theme.LocalHazeState
|
|
|
@@ -162,11 +160,22 @@ fun BookInfoScreen(
|
|
|
) {
|
|
|
mutableStateOf(initiallyUsesDefaultCover)
|
|
|
}
|
|
|
- val backdropStyle = state.book?.let { resolveBookInfoBackdropStyle(it, usesDefaultCover) }
|
|
|
+ val backdropStyle = state.book?.let {
|
|
|
+ resolveBookInfoBackdropStyle(
|
|
|
+ book = it,
|
|
|
+ usesDefaultCover = usesDefaultCover,
|
|
|
+ defaultCoverBackground = state.bookInfoDefaultCoverBackground,
|
|
|
+ networkCoverBackground = state.bookInfoNetworkCoverBackground,
|
|
|
+ )
|
|
|
+ }
|
|
|
val bookColorTheme = rememberBookInfoColorTheme(
|
|
|
book = state.book,
|
|
|
enabled = backdropStyle?.showCover == true,
|
|
|
usesDefaultCover = usesDefaultCover,
|
|
|
+ followCoverColor = state.bookInfoFollowCoverColor,
|
|
|
+ defaultCover = state.defaultCover,
|
|
|
+ defaultCoverDark = state.defaultCoverDark,
|
|
|
+ loadCoverOnlyOnWifi = state.loadCoverOnlyOnWifi,
|
|
|
)
|
|
|
|
|
|
BookInfoColorTheme(theme = bookColorTheme.takeIf {
|
|
|
@@ -520,11 +529,15 @@ private fun rememberBookInfoColorTheme(
|
|
|
book: BookInfoBookUi?,
|
|
|
enabled: Boolean,
|
|
|
usesDefaultCover: Boolean,
|
|
|
+ followCoverColor: Boolean,
|
|
|
+ defaultCover: String,
|
|
|
+ defaultCoverDark: String,
|
|
|
+ loadCoverOnlyOnWifi: Boolean,
|
|
|
): ThemeOverrideState? {
|
|
|
if (
|
|
|
book == null ||
|
|
|
!enabled ||
|
|
|
- !ThemeConfig.bookInfoFollowCoverColor
|
|
|
+ !followCoverColor
|
|
|
) {
|
|
|
return null
|
|
|
}
|
|
|
@@ -532,7 +545,7 @@ private fun rememberBookInfoColorTheme(
|
|
|
val imageLoader = koinInject<ImageLoader>()
|
|
|
val isNight = LegadoTheme.isDark
|
|
|
val defaultCoverPaths =
|
|
|
- if (isNight) CoverConfig.defaultCoverDark else CoverConfig.defaultCover
|
|
|
+ if (isNight) defaultCoverDark else defaultCover
|
|
|
val coverPath = remember(
|
|
|
book.name,
|
|
|
book.author,
|
|
|
@@ -551,7 +564,7 @@ private fun rememberBookInfoColorTheme(
|
|
|
}
|
|
|
} ?: return null
|
|
|
val sourceOrigin = if (usesDefaultCover) null else book.origin
|
|
|
- val loadOnlyWifi = !usesDefaultCover && CoverConfig.loadCoverOnlyWifi
|
|
|
+ val loadOnlyWifi = !usesDefaultCover && loadCoverOnlyOnWifi
|
|
|
val requestKey = remember(coverPath, sourceOrigin, loadOnlyWifi) {
|
|
|
listOf(coverPath, sourceOrigin, loadOnlyWifi)
|
|
|
}
|
|
|
@@ -571,11 +584,13 @@ private fun rememberBookInfoColorTheme(
|
|
|
private fun resolveBookInfoBackdropStyle(
|
|
|
book: BookInfoBookUi,
|
|
|
usesDefaultCover: Boolean,
|
|
|
+ defaultCoverBackground: String,
|
|
|
+ networkCoverBackground: String,
|
|
|
): BookInfoBackdropStyle {
|
|
|
val backgroundMode = if (usesDefaultCover) {
|
|
|
- ThemeConfig.bookInfoDefaultCoverBackground
|
|
|
+ defaultCoverBackground
|
|
|
} else {
|
|
|
- ThemeConfig.bookInfoNetworkCoverBackground
|
|
|
+ networkCoverBackground
|
|
|
}
|
|
|
return resolveBookInfoBackdropStyle(backgroundMode)
|
|
|
}
|