Refactor outlinedTextFieldColors

This commit is contained in:
Andrew 2024-03-14 13:16:50 +10:30
parent 01f6d75968
commit c72f37a9ac
3 changed files with 21 additions and 16 deletions

View File

@ -80,8 +80,10 @@ import org.thoughtcrime.securesms.BaseActionBarActivity
import org.thoughtcrime.securesms.ui.AppTheme import org.thoughtcrime.securesms.ui.AppTheme
import org.thoughtcrime.securesms.ui.OutlineButton import org.thoughtcrime.securesms.ui.OutlineButton
import org.thoughtcrime.securesms.ui.baseBold import org.thoughtcrime.securesms.ui.baseBold
import org.thoughtcrime.securesms.ui.classicDark3
import org.thoughtcrime.securesms.ui.colorDestructive import org.thoughtcrime.securesms.ui.colorDestructive
import org.thoughtcrime.securesms.ui.components.SessionTabRow import org.thoughtcrime.securesms.ui.components.SessionTabRow
import org.thoughtcrime.securesms.ui.outlinedTextFieldColors
import java.util.concurrent.Executors import java.util.concurrent.Executors
import javax.inject.Inject import javax.inject.Inject
@ -282,13 +284,7 @@ fun RecoveryPassword(state: LinkDeviceState, onChange: (String) -> Unit = {}, on
value = state.recoveryPhrase, value = state.recoveryPhrase,
onValueChange = { onChange(it) }, onValueChange = { onChange(it) },
placeholder = { Text(stringResource(R.string.activity_link_enter_your_recovery_password)) }, placeholder = { Text(stringResource(R.string.activity_link_enter_your_recovery_password)) },
colors = TextFieldDefaults.outlinedTextFieldColors( colors = outlinedTextFieldColors(state.error != null),
textColor = state.error?.let { colorDestructive } ?: LocalContentColor.current.copy(LocalContentAlpha.current),
focusedBorderColor = Color(0xff414141),
unfocusedBorderColor = Color(0xff414141),
cursorColor = LocalContentColor.current,
placeholderColor = state.error?.let { colorDestructive } ?: MaterialTheme.colors.onSurface.copy(ContentAlpha.medium)
),
singleLine = true, singleLine = true,
keyboardActions = KeyboardActions( keyboardActions = KeyboardActions(
onDone = { onContinue() }, onDone = { onContinue() },

View File

@ -38,7 +38,9 @@ import org.thoughtcrime.securesms.ui.OutlineButton
import org.thoughtcrime.securesms.ui.PreviewTheme import org.thoughtcrime.securesms.ui.PreviewTheme
import org.thoughtcrime.securesms.ui.base import org.thoughtcrime.securesms.ui.base
import org.thoughtcrime.securesms.ui.baseBold import org.thoughtcrime.securesms.ui.baseBold
import org.thoughtcrime.securesms.ui.classicDark3
import org.thoughtcrime.securesms.ui.colorDestructive import org.thoughtcrime.securesms.ui.colorDestructive
import org.thoughtcrime.securesms.ui.outlinedTextFieldColors
import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo
import javax.inject.Inject import javax.inject.Inject
@ -106,15 +108,7 @@ class PickDisplayNameActivity : BaseActionBarActivity() {
value = state.displayName, value = state.displayName,
onValueChange = { onChange(it) }, onValueChange = { onChange(it) },
placeholder = { Text(stringResource(R.string.activity_display_name_edit_text_hint)) }, placeholder = { Text(stringResource(R.string.activity_display_name_edit_text_hint)) },
colors = TextFieldDefaults.outlinedTextFieldColors( colors = outlinedTextFieldColors(state.error != null),
textColor = state.error?.let { colorDestructive } ?:
LocalContentColor.current.copy(LocalContentAlpha.current),
focusedBorderColor = Color(0xff414141),
unfocusedBorderColor = Color(0xff414141),
cursorColor = LocalContentColor.current,
placeholderColor = state.error?.let { colorDestructive }
?: MaterialTheme.colors.onSurface.copy(ContentAlpha.medium)
),
singleLine = true, singleLine = true,
keyboardActions = KeyboardActions( keyboardActions = KeyboardActions(
onDone = { onContinue() }, onDone = { onContinue() },

View File

@ -7,8 +7,12 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.material.ButtonDefaults import androidx.compose.material.ButtonDefaults
import androidx.compose.material.Card import androidx.compose.material.Card
import androidx.compose.material.Colors import androidx.compose.material.Colors
import androidx.compose.material.ContentAlpha
import androidx.compose.material.LocalContentAlpha
import androidx.compose.material.LocalContentColor
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.material.primarySurface import androidx.compose.material.primarySurface
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@ -115,3 +119,14 @@ private fun Colors() {
} }
} }
} }
@Composable
fun outlinedTextFieldColors(
isError: Boolean
) = TextFieldDefaults.outlinedTextFieldColors(
textColor = if (isError) colorDestructive else LocalContentColor.current.copy(LocalContentAlpha.current),
focusedBorderColor = Color(classicDark3),
unfocusedBorderColor = Color(classicDark3),
cursorColor = LocalContentColor.current,
placeholderColor = if (isError) colorDestructive else MaterialTheme.colors.onSurface.copy(ContentAlpha.medium)
)