From a8beff0dc7fee9b46d1cd74cbc8e334fb165fa62 Mon Sep 17 00:00:00 2001 From: Riddhi B Date: Sat, 14 Mar 2026 20:39:49 +0530 Subject: [PATCH] Profile creation focus fix --- .../tv/ui/screens/profile/ProfileSelectionScreen.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/com/nuvio/tv/ui/screens/profile/ProfileSelectionScreen.kt b/app/src/main/java/com/nuvio/tv/ui/screens/profile/ProfileSelectionScreen.kt index dcc81de4..84f9cb81 100644 --- a/app/src/main/java/com/nuvio/tv/ui/screens/profile/ProfileSelectionScreen.kt +++ b/app/src/main/java/com/nuvio/tv/ui/screens/profile/ProfileSelectionScreen.kt @@ -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) ) }