Merge pull request #1462 from fansangg/fix/share-layout-page-anim
fix: 修复共用布局下翻页动画文案读取错误
This commit is contained in:
@@ -1542,6 +1542,7 @@ class ReadBookViewModel(
|
|||||||
|
|
||||||
private fun buildStyleConfig(): ReadBookStyleConfig {
|
private fun buildStyleConfig(): ReadBookStyleConfig {
|
||||||
val config = ReadBookConfig
|
val config = ReadBookConfig
|
||||||
|
val actualConfig = config.config
|
||||||
val dur = config.durConfig
|
val dur = config.durConfig
|
||||||
return ReadBookStyleConfig(
|
return ReadBookStyleConfig(
|
||||||
styleSelect = config.styleSelect,
|
styleSelect = config.styleSelect,
|
||||||
@@ -1560,8 +1561,8 @@ class ReadBookViewModel(
|
|||||||
textColor = dur.getTextColor(),
|
textColor = dur.getTextColor(),
|
||||||
textColorNight = dur.getTextColorNight(),
|
textColorNight = dur.getTextColorNight(),
|
||||||
textColorEInk = dur.getTextColorEInk(),
|
textColorEInk = dur.getTextColorEInk(),
|
||||||
pageAnim = dur.getPageAnim(),
|
pageAnim = actualConfig.getPageAnim(),
|
||||||
pageAnimEInk = dur.getPageAnimEInk(),
|
pageAnimEInk = actualConfig.getPageAnimEInk(),
|
||||||
shareLayout = config.shareLayout,
|
shareLayout = config.shareLayout,
|
||||||
configCount = config.configList.size,
|
configCount = config.configList.size,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -28,9 +28,15 @@ import androidx.compose.material.icons.filled.LightMode
|
|||||||
import androidx.compose.material.icons.filled.SpaceBar
|
import androidx.compose.material.icons.filled.SpaceBar
|
||||||
import androidx.compose.material.icons.filled.TextFields
|
import androidx.compose.material.icons.filled.TextFields
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
|
import androidx.compose.material3.PlainTooltip
|
||||||
|
import androidx.compose.material3.TooltipAnchorPosition
|
||||||
|
import androidx.compose.material3.TooltipBox
|
||||||
|
import androidx.compose.material3.TooltipDefaults
|
||||||
|
import androidx.compose.material3.rememberTooltipState
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableIntStateOf
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
@@ -174,36 +180,54 @@ fun GlobalThemePage(
|
|||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(start = 12.dp, end = 12.dp, bottom = 12.dp),
|
.padding(start = 12.dp, end = 12.dp, bottom = 12.dp),
|
||||||
) {
|
) {
|
||||||
NormalCard(
|
TooltipBox(
|
||||||
onClick = {
|
positionProvider = TooltipDefaults.rememberTooltipPositionProvider(
|
||||||
val newShareLayout = !shareLayout
|
TooltipAnchorPosition.Above
|
||||||
onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.ShareLayout(newShareLayout)))
|
|
||||||
onShareLayoutChange(newShareLayout)
|
|
||||||
},
|
|
||||||
modifier = Modifier
|
|
||||||
.width(40.dp)
|
|
||||||
.height(56.dp),
|
|
||||||
cornerRadius = 8.dp,
|
|
||||||
containerColor = if (shareLayout) {
|
|
||||||
LegadoTheme.colorScheme.secondaryContainer
|
|
||||||
} else {
|
|
||||||
LegadoTheme.colorScheme.surfaceContainerLow
|
|
||||||
},
|
|
||||||
border = BorderStroke(
|
|
||||||
1.dp,
|
|
||||||
LegadoTheme.colorScheme.secondaryContainer.copy(alpha = 0.5f)
|
|
||||||
),
|
),
|
||||||
contentColor = if (shareLayout) LegadoTheme.colorScheme.onSecondaryContainer else null
|
tooltip = {
|
||||||
|
PlainTooltip(
|
||||||
|
containerColor = LegadoTheme.colorScheme.surfaceContainerLow,
|
||||||
|
contentColor = LegadoTheme.colorScheme.onSurface,
|
||||||
|
) {
|
||||||
|
AppText(
|
||||||
|
text = stringResource(R.string.share_layout),
|
||||||
|
style = LegadoTheme.typography.bodyMedium,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
state = rememberTooltipState(),
|
||||||
) {
|
) {
|
||||||
Box(
|
NormalCard(
|
||||||
modifier = Modifier.fillMaxSize(),
|
onClick = {
|
||||||
contentAlignment = Alignment.Center
|
val newShareLayout = !shareLayout
|
||||||
|
onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.ShareLayout(newShareLayout)))
|
||||||
|
onShareLayoutChange(newShareLayout)
|
||||||
|
},
|
||||||
|
modifier = Modifier
|
||||||
|
.width(40.dp)
|
||||||
|
.height(56.dp),
|
||||||
|
cornerRadius = 8.dp,
|
||||||
|
containerColor = if (shareLayout) {
|
||||||
|
LegadoTheme.colorScheme.secondaryContainer
|
||||||
|
} else {
|
||||||
|
LegadoTheme.colorScheme.surfaceContainerLow
|
||||||
|
},
|
||||||
|
border = BorderStroke(
|
||||||
|
1.dp,
|
||||||
|
LegadoTheme.colorScheme.secondaryContainer.copy(alpha = 0.5f)
|
||||||
|
),
|
||||||
|
contentColor = if (shareLayout) LegadoTheme.colorScheme.onSecondaryContainer else null
|
||||||
) {
|
) {
|
||||||
Icon(
|
Box(
|
||||||
Icons.Default.GridView,
|
modifier = Modifier.fillMaxSize(),
|
||||||
contentDescription = null,
|
contentAlignment = Alignment.Center
|
||||||
modifier = Modifier.size(20.dp),
|
) {
|
||||||
)
|
Icon(
|
||||||
|
Icons.Default.GridView,
|
||||||
|
contentDescription = stringResource(R.string.share_layout),
|
||||||
|
modifier = Modifier.size(20.dp),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val styleListState = rememberLazyListState()
|
val styleListState = rememberLazyListState()
|
||||||
|
|||||||
Reference in New Issue
Block a user