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.OutlineButton
import org.thoughtcrime.securesms.ui.baseBold
import org.thoughtcrime.securesms.ui.classicDark3
import org.thoughtcrime.securesms.ui.colorDestructive
import org.thoughtcrime.securesms.ui.components.SessionTabRow
import org.thoughtcrime.securesms.ui.outlinedTextFieldColors
import java.util.concurrent.Executors
import javax.inject.Inject
@ -282,13 +284,7 @@ fun RecoveryPassword(state: LinkDeviceState, onChange: (String) -> Unit = {}, on
value = state.recoveryPhrase,
onValueChange = { onChange(it) },
placeholder = { Text(stringResource(R.string.activity_link_enter_your_recovery_password)) },
colors = TextFieldDefaults.outlinedTextFieldColors(
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)
),
colors = outlinedTextFieldColors(state.error != null),
singleLine = true,
keyboardActions = KeyboardActions(
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.base
import org.thoughtcrime.securesms.ui.baseBold
import org.thoughtcrime.securesms.ui.classicDark3
import org.thoughtcrime.securesms.ui.colorDestructive
import org.thoughtcrime.securesms.ui.outlinedTextFieldColors
import org.thoughtcrime.securesms.util.setUpActionBarSessionLogo
import javax.inject.Inject
@ -106,15 +108,7 @@ class PickDisplayNameActivity : BaseActionBarActivity() {
value = state.displayName,
onValueChange = { onChange(it) },
placeholder = { Text(stringResource(R.string.activity_display_name_edit_text_hint)) },
colors = TextFieldDefaults.outlinedTextFieldColors(
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)
),
colors = outlinedTextFieldColors(state.error != null),
singleLine = true,
keyboardActions = KeyboardActions(
onDone = { onContinue() },

View File

@ -7,8 +7,12 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.material.ButtonDefaults
import androidx.compose.material.Card
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.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.material.primarySurface
import androidx.compose.runtime.Composable
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)
)