feat: make AppTextField stateful

This commit is contained in:
Cutiful 2025-06-05 13:16:09 +07:00
parent 3cc84e0957
commit 9b243b34f2

View File

@ -12,10 +12,6 @@ import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TextFieldDefaults import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.painter.Painter
@ -35,15 +31,16 @@ fun AppTextField(
// modifier: Modifier = Modifier, // modifier: Modifier = Modifier,
leadingIcon: Painter? = null, leadingIcon: Painter? = null,
hint: String, hint: String,
keyboardType: KeyboardType keyboardType: KeyboardType,
value: String,
onValueChange: (String) -> Unit
) { ) {
var text by remember { mutableStateOf("") }
OutlinedTextField( OutlinedTextField(
value = text, value = value,
onValueChange = { text = it }, onValueChange = onValueChange,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.padding(16.dp) .padding(horizontal = 16.dp)
.border(BorderStroke(1.dp, LightGrey), RoundedCornerShape(8.dp)), .border(BorderStroke(1.dp, LightGrey), RoundedCornerShape(8.dp)),
leadingIcon = { leadingIcon = {
if (leadingIcon != null) { if (leadingIcon != null) {
@ -84,6 +81,8 @@ fun TextFieldPreview() {
AppTextField( AppTextField(
hint = "Enter Your Email", hint = "Enter Your Email",
leadingIcon = painterResource(R.drawable.icon_email), leadingIcon = painterResource(R.drawable.icon_email),
keyboardType = KeyboardType.Email keyboardType = KeyboardType.Email,
value = "",
onValueChange = {}
) )
} }