From f1e87f084678cd0e7316b5972f944ce947f37deb Mon Sep 17 00:00:00 2001 From: ShirkNeko <2773800761@qq.com> Date: Thu, 20 Mar 2025 23:35:54 +0800 Subject: [PATCH] Optimise text colours in the navigation bar and module buttons to ensure readability in different states --- .../shirkneko/zako/sukisu/ui/MainActivity.kt | 8 +++-- .../shirkneko/zako/sukisu/ui/screen/Module.kt | 34 ++++++++++++++++--- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/MainActivity.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/MainActivity.kt index 07b40679..314f5943 100644 --- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/MainActivity.kt +++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/MainActivity.kt @@ -140,13 +140,17 @@ private fun BottomBar(navController: NavHostController) { }, icon = { if (isCurrentDestOnBackStack) { - Icon(destination.iconSelected, stringResource(destination.label)) + Icon(destination.iconSelected, stringResource(destination.label), tint = Color.White) } else { Icon(destination.iconNotSelected, stringResource(destination.label)) } }, label = { Text(stringResource(destination.label)) }, - alwaysShowLabel = false + alwaysShowLabel = false, + colors = androidx.compose.material3.NavigationBarItemDefaults.colors( + selectedTextColor = Color.Black, + unselectedTextColor = MaterialTheme.colorScheme.onSurfaceVariant + ) ) } } diff --git a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Module.kt b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Module.kt index 24d438b5..adcbe07c 100644 --- a/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Module.kt +++ b/manager/app/src/main/java/shirkneko/zako/sukisu/ui/screen/Module.kt @@ -111,6 +111,7 @@ import shirkneko.zako.sukisu.ui.viewmodel.ModuleViewModel import java.io.BufferedReader import java.io.InputStreamReader import java.util.zip.ZipInputStream +import androidx.compose.ui.graphics.Color @OptIn(ExperimentalMaterial3Api::class) @Destination @@ -121,6 +122,7 @@ fun ModuleScreen(navigator: DestinationsNavigator) { val snackBarHost = LocalSnackbarHost.current val scope = rememberCoroutineScope() val confirmDialog = rememberConfirmDialog() + val buttonTextColor = androidx.compose.ui.graphics.Color.Black val selectZipLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.StartActivityForResult() @@ -354,7 +356,12 @@ fun ModuleScreen(navigator: DestinationsNavigator) { contentDescription = moduleInstall ) }, - text = { Text(text = moduleInstall) } + text = { + Text( + text = moduleInstall, + color = buttonTextColor + ) + } ) } }, @@ -768,7 +775,11 @@ fun ModuleItem( navigator.navigate(ExecuteModuleActionScreenDestination(module.dirId)) viewModel.markNeedRefresh() }, - contentPadding = ButtonDefaults.TextButtonContentPadding + contentPadding = ButtonDefaults.TextButtonContentPadding, + colors = ButtonDefaults.filledTonalButtonColors( + containerColor = Color.White, + contentColor = Color.Black + ) ) { Icon( modifier = Modifier.size(20.dp), @@ -794,7 +805,11 @@ fun ModuleItem( enabled = !module.remove && module.enabled, onClick = { onClick(module) }, interactionSource = interactionSource, - contentPadding = ButtonDefaults.TextButtonContentPadding + contentPadding = ButtonDefaults.TextButtonContentPadding, + colors = ButtonDefaults.filledTonalButtonColors( + containerColor = Color.White, + contentColor = Color.Black + ) ) { Icon( modifier = Modifier.size(20.dp), @@ -820,7 +835,11 @@ fun ModuleItem( enabled = !module.remove, onClick = { onUpdate(module) }, shape = ButtonDefaults.textShape, - contentPadding = ButtonDefaults.TextButtonContentPadding + contentPadding = ButtonDefaults.TextButtonContentPadding, + colors = ButtonDefaults.filledTonalButtonColors( + containerColor = Color.White, + contentColor = Color.Black + ) ) { Icon( modifier = Modifier.size(20.dp), @@ -843,7 +862,11 @@ fun ModuleItem( FilledTonalButton( modifier = Modifier.defaultMinSize(52.dp, 32.dp), onClick = { onUninstallClicked(module) }, - contentPadding = ButtonDefaults.TextButtonContentPadding + contentPadding = ButtonDefaults.TextButtonContentPadding, + colors = ButtonDefaults.filledTonalButtonColors( + containerColor = Color.White, + contentColor = Color.Black + ) ) { if (!module.remove) { Icon( @@ -856,6 +879,7 @@ fun ModuleItem( modifier = Modifier.size(20.dp).rotate(180f), imageVector = Icons.Outlined.Refresh, contentDescription = null, + ) } if (!module.hasActionScript && !module.hasWebUi && updateUrl.isEmpty()) {