Remove unnecessary card color calculations and simplify theme colors

This commit is contained in:
ShirkNeko
2025-05-08 11:58:28 +08:00
parent 4a598b1837
commit 15b19bb8ce
4 changed files with 46 additions and 83 deletions

View File

@@ -56,11 +56,6 @@ fun KpmScreen(
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
val snackBarHost = remember { SnackbarHostState() } val snackBarHost = remember { SnackbarHostState() }
val confirmDialog = rememberConfirmDialog() val confirmDialog = rememberConfirmDialog()
val cardColor = if (!ThemeConfig.useDynamicColor) {
ThemeConfig.currentTheme.ButtonContrast
} else {
MaterialTheme.colorScheme.primaryContainer
}
val moduleConfirmContentMap = viewModel.moduleList.associate { module -> val moduleConfirmContentMap = viewModel.moduleList.associate { module ->
val moduleFileName = module.id val moduleFileName = module.id
@@ -317,7 +312,6 @@ fun KpmScreen(
color = MaterialTheme.colorScheme.onPrimaryContainer color = MaterialTheme.colorScheme.onPrimaryContainer
) )
}, },
containerColor = cardColor,
contentColor = MaterialTheme.colorScheme.onPrimaryContainer, contentColor = MaterialTheme.colorScheme.onPrimaryContainer,
expanded = true, expanded = true,
) )

View File

@@ -197,7 +197,7 @@ fun ModuleScreen(navigator: DestinationsNavigator) {
val backupLauncher = ModuleModify.rememberModuleBackupLauncher(context, snackBarHost) val backupLauncher = ModuleModify.rememberModuleBackupLauncher(context, snackBarHost)
val restoreLauncher = ModuleModify.rememberModuleRestoreLauncher(context, snackBarHost) val restoreLauncher = ModuleModify.rememberModuleRestoreLauncher(context, snackBarHost)
val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) val prefs = context.getSharedPreferences("settings", MODE_PRIVATE)
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
if (viewModel.moduleList.isEmpty() || viewModel.isNeedRefresh) { if (viewModel.moduleList.isEmpty() || viewModel.isNeedRefresh) {
@@ -323,11 +323,6 @@ fun ModuleScreen(navigator: DestinationsNavigator) {
floatingActionButton = { floatingActionButton = {
if (!hideInstallButton) { if (!hideInstallButton) {
val moduleInstall = stringResource(id = R.string.module_install) val moduleInstall = stringResource(id = R.string.module_install)
val cardColor = if (!ThemeConfig.useDynamicColor) {
ThemeConfig.currentTheme.ButtonContrast
} else {
MaterialTheme.colorScheme.primaryContainer
}
ExtendedFloatingActionButton( ExtendedFloatingActionButton(
onClick = { onClick = {
selectZipLauncher.launch( selectZipLauncher.launch(
@@ -349,7 +344,6 @@ fun ModuleScreen(navigator: DestinationsNavigator) {
color = MaterialTheme.colorScheme.onPrimaryContainer color = MaterialTheme.colorScheme.onPrimaryContainer
) )
}, },
containerColor = cardColor,
contentColor = MaterialTheme.colorScheme.onPrimaryContainer, contentColor = MaterialTheme.colorScheme.onPrimaryContainer,
expanded = true, expanded = true,
) )
@@ -816,27 +810,21 @@ fun ModuleItem(
viewModel.markNeedRefresh() viewModel.markNeedRefresh()
}, },
contentPadding = ButtonDefaults.TextButtonContentPadding, contentPadding = ButtonDefaults.TextButtonContentPadding,
colors = if (!ThemeConfig.useDynamicColor) { colors = ButtonDefaults.filledTonalButtonColors()
ButtonDefaults.filledTonalButtonColors(
containerColor = ThemeConfig.currentTheme.ButtonContrast
)
} else {
ButtonDefaults.filledTonalButtonColors()
}
) { ) {
Icon( Icon(
modifier = Modifier.size(20.dp), modifier = Modifier.size(20.dp),
imageVector = Icons.Outlined.PlayArrow, imageVector = Icons.Outlined.PlayArrow,
contentDescription = null contentDescription = null
) )
if (!module.hasWebUi && updateUrl.isEmpty()) { //if (!module.hasWebUi && updateUrl.isEmpty()) {
Text( //Text(
modifier = Modifier.padding(start = 7.dp), // modifier = Modifier.padding(start = 7.dp),
text = stringResource(R.string.action), // text = stringResource(R.string.action),
fontFamily = MaterialTheme.typography.labelMedium.fontFamily, // fontFamily = MaterialTheme.typography.labelMedium.fontFamily,
fontSize = MaterialTheme.typography.labelMedium.fontSize // fontSize = MaterialTheme.typography.labelMedium.fontSize
) //)
} //}
} }
} }
@@ -847,27 +835,22 @@ fun ModuleItem(
onClick = { onClick(module) }, onClick = { onClick(module) },
interactionSource = interactionSource, interactionSource = interactionSource,
contentPadding = ButtonDefaults.TextButtonContentPadding, contentPadding = ButtonDefaults.TextButtonContentPadding,
colors = if (!ThemeConfig.useDynamicColor) { colors = ButtonDefaults.filledTonalButtonColors()
ButtonDefaults.filledTonalButtonColors(
containerColor = ThemeConfig.currentTheme.ButtonContrast
)
} else {
ButtonDefaults.filledTonalButtonColors()
}
) { ) {
Icon( Icon(
modifier = Modifier.size(20.dp), modifier = Modifier.size(20.dp),
imageVector = Icons.AutoMirrored.Outlined.Wysiwyg, imageVector = Icons.AutoMirrored.Outlined.Wysiwyg,
contentDescription = null contentDescription = null
) )
if (!module.hasActionScript && updateUrl.isEmpty()) { //if (!module.hasActionScript && updateUrl.isEmpty()) {
Text( //Text(
modifier = Modifier.padding(start = 7.dp), // modifier = Modifier.padding(start = 7.dp),
fontFamily = MaterialTheme.typography.labelMedium.fontFamily, // fontFamily = MaterialTheme.typography.labelMedium.fontFamily,
fontSize = MaterialTheme.typography.labelMedium.fontSize, // fontSize = MaterialTheme.typography.labelMedium.fontSize,
text = stringResource(R.string.open) // text = stringResource(R.string.open)
) //)
} //}
} }
} }
@@ -886,14 +869,14 @@ fun ModuleItem(
imageVector = Icons.Outlined.Download, imageVector = Icons.Outlined.Download,
contentDescription = null contentDescription = null
) )
if (!module.hasActionScript || !module.hasWebUi) { //if (!module.hasActionScript || !module.hasWebUi) {
Text( //Text(
modifier = Modifier.padding(start = 7.dp), // modifier = Modifier.padding(start = 7.dp),
fontFamily = MaterialTheme.typography.labelMedium.fontFamily, // fontFamily = MaterialTheme.typography.labelMedium.fontFamily,
fontSize = MaterialTheme.typography.labelMedium.fontSize, // fontSize = MaterialTheme.typography.labelMedium.fontSize,
text = stringResource(R.string.module_update) // text = stringResource(R.string.module_update)
) //)
} //}
} }
} }
@@ -901,15 +884,8 @@ fun ModuleItem(
modifier = Modifier.defaultMinSize(minWidth = 52.dp, minHeight = 32.dp), modifier = Modifier.defaultMinSize(minWidth = 52.dp, minHeight = 32.dp),
onClick = { onUninstallClicked(module) }, onClick = { onUninstallClicked(module) },
contentPadding = ButtonDefaults.TextButtonContentPadding, contentPadding = ButtonDefaults.TextButtonContentPadding,
colors = if (!ThemeConfig.useDynamicColor) { colors = ButtonDefaults.filledTonalButtonColors(
ButtonDefaults.filledTonalButtonColors( containerColor = if (!module.remove) MaterialTheme.colorScheme.secondaryContainer else MaterialTheme.colorScheme.errorContainer)
containerColor = if (!module.remove) MaterialTheme.colorScheme.errorContainer else ThemeConfig.currentTheme.ButtonContrast
)
} else {
ButtonDefaults.filledTonalButtonColors(
containerColor = if (!module.remove) MaterialTheme.colorScheme.errorContainer else MaterialTheme.colorScheme.secondaryContainer
)
}
) { ) {
if (!module.remove) { if (!module.remove) {
Icon( Icon(
@@ -924,15 +900,15 @@ fun ModuleItem(
contentDescription = null contentDescription = null
) )
} }
if (!module.hasActionScript && !module.hasWebUi && updateUrl.isEmpty()) { //if (!module.hasActionScript && !module.hasWebUi && updateUrl.isEmpty()) {
Text( //Text(
modifier = Modifier.padding(start = 7.dp), // modifier = Modifier.padding(start = 7.dp),
fontFamily = MaterialTheme.typography.labelMedium.fontFamily, // fontFamily = MaterialTheme.typography.labelMedium.fontFamily,
fontSize = MaterialTheme.typography.labelMedium.fontSize, // fontSize = MaterialTheme.typography.labelMedium.fontSize,
text = stringResource(if (!module.remove) R.string.uninstall else R.string.restore), // text = stringResource(if (!module.remove) R.string.uninstall else R.string.restore),
color = if (!module.remove) MaterialTheme.colorScheme.onErrorContainer else MaterialTheme.colorScheme.onSecondaryContainer // color = if (!module.remove) MaterialTheme.colorScheme.onErrorContainer else MaterialTheme.colorScheme.onSecondaryContainer
) //)
} //}
} }
} }
} }

View File

@@ -63,7 +63,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import com.sukisu.ultra.R import com.sukisu.ultra.R
import com.sukisu.ultra.ui.theme.CardConfig import com.sukisu.ultra.ui.theme.CardConfig
import com.sukisu.ultra.ui.theme.ThemeConfig
import com.sukisu.ultra.ui.viewmodel.TemplateViewModel import com.sukisu.ultra.ui.viewmodel.TemplateViewModel
/** /**
@@ -81,11 +80,6 @@ fun AppProfileTemplateScreen(
val viewModel = viewModel<TemplateViewModel>() val viewModel = viewModel<TemplateViewModel>()
val scope = rememberCoroutineScope() val scope = rememberCoroutineScope()
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState()) val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
val cardColor = if (!ThemeConfig.useDynamicColor) {
ThemeConfig.currentTheme.ButtonContrast
} else {
MaterialTheme.colorScheme.secondaryContainer
}
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
if (viewModel.templateList.isEmpty()) { if (viewModel.templateList.isEmpty()) {
@@ -164,7 +158,6 @@ fun AppProfileTemplateScreen(
}, },
icon = { Icon(Icons.Filled.Add, null) }, icon = { Icon(Icons.Filled.Add, null) },
text = { Text(stringResource(id = R.string.app_profile_template_create)) }, text = { Text(stringResource(id = R.string.app_profile_template_create)) },
containerColor = cardColor.copy(alpha = 1f),
contentColor = MaterialTheme.colorScheme.onSecondaryContainer contentColor = MaterialTheme.colorScheme.onSecondaryContainer
) )
}, },

View File

@@ -49,7 +49,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF0A3049) override val OnPrimaryContainer = Color(0xFF0A3049)
override val OnSecondaryContainer = Color(0xFF0D3C61) override val OnSecondaryContainer = Color(0xFF0D3C61)
override val OnTertiaryContainer = Color(0xFF071D41) override val OnTertiaryContainer = Color(0xFF071D41)
override val ButtonContrast = Color(0xFF1976D2) override val ButtonContrast = Color(0xFF2196F3)
override val Surface = Color(0xFFF5F9FF) override val Surface = Color(0xFFF5F9FF)
override val SurfaceVariant = Color(0xFFEDF5FE) override val SurfaceVariant = Color(0xFFEDF5FE)
@@ -81,7 +81,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF0A280D) override val OnPrimaryContainer = Color(0xFF0A280D)
override val OnSecondaryContainer = Color(0xFF0E2912) override val OnSecondaryContainer = Color(0xFF0E2912)
override val OnTertiaryContainer = Color(0xFF051B07) override val OnTertiaryContainer = Color(0xFF051B07)
override val ButtonContrast = Color(0xFF2E7D32) override val ButtonContrast = Color(0xFF43A047)
override val Surface = Color(0xFFF6FBF6) override val Surface = Color(0xFFF6FBF6)
override val SurfaceVariant = Color(0xFFEDF7EE) override val SurfaceVariant = Color(0xFFEDF7EE)
@@ -113,7 +113,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF2A0934) override val OnPrimaryContainer = Color(0xFF2A0934)
override val OnSecondaryContainer = Color(0xFF3C0F50) override val OnSecondaryContainer = Color(0xFF3C0F50)
override val OnTertiaryContainer = Color(0xFF1D0830) override val OnTertiaryContainer = Color(0xFF1D0830)
override val ButtonContrast = Color(0xFF8E24AA) override val ButtonContrast = Color(0xFF9C27B0)
override val Surface = Color(0xFFFCF6FF) override val Surface = Color(0xFFFCF6FF)
override val SurfaceVariant = Color(0xFFF5EEFA) override val SurfaceVariant = Color(0xFFF5EEFA)
@@ -145,7 +145,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF351F00) override val OnPrimaryContainer = Color(0xFF351F00)
override val OnSecondaryContainer = Color(0xFF3D2800) override val OnSecondaryContainer = Color(0xFF3D2800)
override val OnTertiaryContainer = Color(0xFF2E1500) override val OnTertiaryContainer = Color(0xFF2E1500)
override val ButtonContrast = Color(0xFFEF6C00) override val ButtonContrast = Color(0xFFFF9800)
override val Surface = Color(0xFFFFF8F3) override val Surface = Color(0xFFFFF8F3)
override val SurfaceVariant = Color(0xFFFFF0E6) override val SurfaceVariant = Color(0xFFFFF0E6)
@@ -177,7 +177,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF3B0819) override val OnPrimaryContainer = Color(0xFF3B0819)
override val OnSecondaryContainer = Color(0xFF3B0819) override val OnSecondaryContainer = Color(0xFF3B0819)
override val OnTertiaryContainer = Color(0xFF2B0516) override val OnTertiaryContainer = Color(0xFF2B0516)
override val ButtonContrast = Color(0xFFD81B60) override val ButtonContrast = Color(0xFFE91E63)
override val Surface = Color(0xFFFFF7F9) override val Surface = Color(0xFFFFF7F9)
override val SurfaceVariant = Color(0xFFFCEEF2) override val SurfaceVariant = Color(0xFFFCEEF2)
@@ -209,7 +209,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF1A2327) override val OnPrimaryContainer = Color(0xFF1A2327)
override val OnSecondaryContainer = Color(0xFF1A2327) override val OnSecondaryContainer = Color(0xFF1A2327)
override val OnTertiaryContainer = Color(0xFF121A1D) override val OnTertiaryContainer = Color(0xFF121A1D)
override val ButtonContrast = Color(0xFF546E7A) override val ButtonContrast = Color(0xFF607D8B)
override val Surface = Color(0xFFF6F9FB) override val Surface = Color(0xFFF6F9FB)
override val SurfaceVariant = Color(0xFFEEF2F4) override val SurfaceVariant = Color(0xFFEEF2F4)
@@ -241,7 +241,7 @@ sealed class ThemeColors {
override val OnPrimaryContainer = Color(0xFF332A00) override val OnPrimaryContainer = Color(0xFF332A00)
override val OnSecondaryContainer = Color(0xFF332A00) override val OnSecondaryContainer = Color(0xFF332A00)
override val OnTertiaryContainer = Color(0xFF221200) override val OnTertiaryContainer = Color(0xFF221200)
override val ButtonContrast = Color(0xFFFFB300) override val ButtonContrast = Color(0xFFFFC107)
override val Surface = Color(0xFFFFFAF3) override val Surface = Color(0xFFFFFAF3)
override val SurfaceVariant = Color(0xFFFFF7E6) override val SurfaceVariant = Color(0xFFFFF7E6)