From 8bff5f7a905cd74590d0b98fbee41112b4795b30 Mon Sep 17 00:00:00 2001 From: Stillswarm Date: Tue, 18 Mar 2025 11:55:21 +0530 Subject: [PATCH 1/2] fix: fixed invisible text/icon color in dark mode for client and group details screens --- .../clientDetails/ui/ClientDetailsScreen.kt | 10 ++++---- .../groups/groupDetails/GroupDetailsScreen.kt | 24 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt index 78d0c69e42..772c426ca9 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt @@ -57,6 +57,7 @@ import androidx.compose.material3.DropdownMenu import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -438,7 +439,7 @@ private fun MifosClientDetailsScreen( fontWeight = FontWeight.Medium, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) } @@ -755,6 +756,7 @@ private fun MifosSavingsAccountExpendableCard( modifier = Modifier.rotate(rotateState), imageVector = Icons.Default.KeyboardArrowDown, contentDescription = null, + tint = MaterialTheme.colorScheme.onSurface ) } } @@ -976,7 +978,7 @@ private fun MifosClientDetailsText(icon: ImageVector, field: String, value: Stri modifier = Modifier.size(18.dp), imageVector = icon, contentDescription = null, - tint = DarkGray, + tint = MaterialTheme.colorScheme.secondary, ) Text( modifier = Modifier @@ -988,7 +990,7 @@ private fun MifosClientDetailsText(icon: ImageVector, field: String, value: Stri fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) Text( @@ -999,7 +1001,7 @@ private fun MifosClientDetailsText(icon: ImageVector, field: String, value: Stri fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = DarkGray, + color = MaterialTheme.colorScheme.primary, textAlign = TextAlign.Start, ) } diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt index ed143f7db7..61c00fcaf6 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt @@ -75,7 +75,6 @@ import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError import com.mifos.core.designsystem.icon.MifosIcons -import com.mifos.core.designsystem.theme.Black import com.mifos.core.designsystem.theme.BluePrimary import com.mifos.core.designsystem.theme.BluePrimaryDark import com.mifos.core.designsystem.theme.BlueSecondary @@ -87,6 +86,7 @@ import com.mifos.core.objects.accounts.savings.SavingsAccount import com.mifos.core.objects.client.Client import com.mifos.core.objects.group.Group import com.mifos.feature.groups.R +import androidx.compose.material3.MaterialTheme @Composable internal fun GroupDetailsScreen( @@ -287,7 +287,7 @@ fun GroupDetailsContent( fontSize = 24.sp, fontWeight = FontWeight.SemiBold, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Center, ) } @@ -327,7 +327,7 @@ fun GroupDetailsContent( fontWeight = FontWeight.Medium, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) HorizontalDivider(modifier = Modifier.padding(start = 16.dp, end = 16.dp)) @@ -366,7 +366,7 @@ fun MifosCenterDetailsText( modifier = Modifier.size(18.dp), imageVector = icon, contentDescription = null, - tint = DarkGray, + tint = MaterialTheme.colorScheme.secondary, ) Text( modifier = Modifier @@ -378,7 +378,7 @@ fun MifosCenterDetailsText( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) Text( @@ -389,7 +389,7 @@ fun MifosCenterDetailsText( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = DarkGray, + color = MaterialTheme.colorScheme.secondary, textAlign = TextAlign.Start, ) } @@ -439,7 +439,7 @@ fun MifosLoanAccountExpendableCard( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) IconButton( @@ -542,7 +542,7 @@ fun MifosLoanAccountsLazyColumn( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) } @@ -565,7 +565,7 @@ fun MifosLoanAccountsLazyColumn( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) } @@ -619,7 +619,7 @@ private fun MifosSavingsAccountExpendableCard( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) IconButton( @@ -721,7 +721,7 @@ private fun MifosSavingsAccountsLazyColumn( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) } @@ -744,7 +744,7 @@ private fun MifosSavingsAccountsLazyColumn( fontWeight = FontWeight.Normal, fontStyle = FontStyle.Normal, ), - color = Black, + color = MaterialTheme.colorScheme.onSurface, textAlign = TextAlign.Start, ) } From 9f8aa528c72f69a3ecd90329e62324fe684c31a5 Mon Sep 17 00:00:00 2001 From: Stillswarm Date: Tue, 18 Mar 2025 12:08:15 +0530 Subject: [PATCH 2/2] refactor(about_screen): centered content and fixed text visibility in dark mode --- .../core/designsystem/theme/MifosTextStyle.kt | 18 ++++++++++++++++-- .../com/mifos/feature/about/AboutScreen.kt | 18 +++++++++++++----- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/core/designsystem/src/main/java/com/mifos/core/designsystem/theme/MifosTextStyle.kt b/core/designsystem/src/main/java/com/mifos/core/designsystem/theme/MifosTextStyle.kt index 181291048b..a7326d1d69 100644 --- a/core/designsystem/src/main/java/com/mifos/core/designsystem/theme/MifosTextStyle.kt +++ b/core/designsystem/src/main/java/com/mifos/core/designsystem/theme/MifosTextStyle.kt @@ -15,20 +15,34 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.sp -val aboutItemTextStyle = TextStyle( +val aboutItemTextStyleLight = TextStyle( color = Color.Black, textAlign = TextAlign.Center, fontSize = 16.sp, fontWeight = FontWeight.Normal, ) -val aboutItemTextStyleBold = TextStyle( +val aboutItemTextStyleDark = TextStyle( + color = Color.White, + textAlign = TextAlign.Center, + fontSize = 16.sp, + fontWeight = FontWeight.Normal, +) + +val aboutItemTextStyleBoldLight = TextStyle( color = Color.Black, textAlign = TextAlign.Center, fontSize = 24.sp, fontWeight = FontWeight.SemiBold, ) +val aboutItemTextStyleBoldDark = TextStyle( + color = Color.White, + textAlign = TextAlign.Center, + fontSize = 24.sp, + fontWeight = FontWeight.SemiBold, +) + val identifierTextStyleDark = TextStyle( color = Color.Black, textAlign = TextAlign.Start, diff --git a/feature/about/src/main/java/com/mifos/feature/about/AboutScreen.kt b/feature/about/src/main/java/com/mifos/feature/about/AboutScreen.kt index a3a3f6d37a..dbfd29b917 100644 --- a/feature/about/src/main/java/com/mifos/feature/about/AboutScreen.kt +++ b/feature/about/src/main/java/com/mifos/feature/about/AboutScreen.kt @@ -11,6 +11,8 @@ package com.mifos.feature.about import androidx.compose.foundation.Image import androidx.compose.foundation.clickable +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth @@ -48,8 +50,10 @@ import com.mifos.core.designsystem.icon.MifosIcons import com.mifos.core.designsystem.theme.Black import com.mifos.core.designsystem.theme.BluePrimary import com.mifos.core.designsystem.theme.White -import com.mifos.core.designsystem.theme.aboutItemTextStyle -import com.mifos.core.designsystem.theme.aboutItemTextStyleBold +import com.mifos.core.designsystem.theme.aboutItemTextStyleBoldDark +import com.mifos.core.designsystem.theme.aboutItemTextStyleLight +import com.mifos.core.designsystem.theme.aboutItemTextStyleBoldLight +import com.mifos.core.designsystem.theme.aboutItemTextStyleDark @Composable internal fun AboutScreen( @@ -127,7 +131,11 @@ private fun AboutScreenContent( aboutOptions: List, onOptionClick: (AboutItems) -> Unit, ) { - Column { + Column( + modifier = Modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(16.dp), + ) { Image( modifier = Modifier.size(100.dp), painter = painterResource(id = R.drawable.feature_about_ic_launcher), @@ -138,14 +146,14 @@ private fun AboutScreenContent( .fillMaxWidth() .padding(16.dp), text = stringResource(id = R.string.feature_about_mifos_x_droid), - style = aboutItemTextStyleBold, + style = if (isSystemInDarkTheme()) aboutItemTextStyleBoldDark else aboutItemTextStyleBoldLight, ) Text( modifier = Modifier .fillMaxWidth() .padding(start = 16.dp, end = 16.dp), text = stringResource(id = R.string.feature_about_app), - style = aboutItemTextStyle, + style = if (isSystemInDarkTheme()) aboutItemTextStyleDark else aboutItemTextStyleLight, ) Text( modifier = Modifier