From 9b243b34f2f871c4e8b9b2a1c2491696425a743b Mon Sep 17 00:00:00 2001 From: Cutiful <113351087+Syaroful@users.noreply.github.com> Date: Thu, 5 Jun 2025 13:16:09 +0700 Subject: [PATCH] feat: make AppTextField stateful --- .../core/components/AppTextField.kt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/AppTextField.kt b/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/AppTextField.kt index 8738e57..4d3e058 100644 --- a/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/AppTextField.kt +++ b/agrilinkvocpro/app/src/main/java/com/syaroful/agrilinkvocpro/core/components/AppTextField.kt @@ -12,10 +12,6 @@ import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text import androidx.compose.material3.TextFieldDefaults 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.graphics.Color import androidx.compose.ui.graphics.painter.Painter @@ -35,15 +31,16 @@ fun AppTextField( // modifier: Modifier = Modifier, leadingIcon: Painter? = null, hint: String, - keyboardType: KeyboardType + keyboardType: KeyboardType, + value: String, + onValueChange: (String) -> Unit ) { - var text by remember { mutableStateOf("") } OutlinedTextField( - value = text, - onValueChange = { text = it }, + value = value, + onValueChange = onValueChange, modifier = Modifier .fillMaxWidth() - .padding(16.dp) + .padding(horizontal = 16.dp) .border(BorderStroke(1.dp, LightGrey), RoundedCornerShape(8.dp)), leadingIcon = { if (leadingIcon != null) { @@ -84,6 +81,8 @@ fun TextFieldPreview() { AppTextField( hint = "Enter Your Email", leadingIcon = painterResource(R.drawable.icon_email), - keyboardType = KeyboardType.Email + keyboardType = KeyboardType.Email, + value = "", + onValueChange = {} ) } \ No newline at end of file