Profile creation focus fix

This commit is contained in:
Riddhi B 2026-03-14 20:39:49 +05:30
parent 7cfe4d6853
commit a8beff0dc7

View file

@ -40,9 +40,12 @@ import androidx.compose.runtime.setValue
import androidx.compose.runtime.withFrameNanos
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.focus.FocusDirection
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged
@ -54,9 +57,11 @@ import androidx.compose.ui.graphics.lerp
import androidx.compose.ui.graphics.luminance
import androidx.compose.ui.input.key.onPreviewKeyEvent
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
@ -1221,6 +1226,7 @@ private fun ProfileNameField(
modifier: Modifier = Modifier
) {
var isFocused by remember { mutableStateOf(false) }
val focusManager = LocalFocusManager.current
val borderColor by animateColorAsState(
targetValue = if (isFocused) NuvioColors.FocusRing else NuvioColors.Border,
animationSpec = tween(120),
@ -1268,6 +1274,12 @@ private fun ProfileNameField(
fontSize = 16.sp
),
singleLine = true,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(
onDone = {
focusManager.moveFocus(FocusDirection.Down)
}
),
cursorBrush = SolidColor(NuvioColors.FocusRing)
)
}