From ab1db27dc71392f21d5a835eb97868a1b92c5a04 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 8 Nov 2023 18:05:24 +0530 Subject: [PATCH] feat(common): request focus when search screen is opened --- .../main/kotlin/dev/msfjarvis/claw/common/ui/SearchBar.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/SearchBar.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/SearchBar.kt index 99903c98..f66b860c 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/SearchBar.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/SearchBar.kt @@ -22,12 +22,15 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextField import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp @@ -42,6 +45,7 @@ fun SearchBar( onSearch: (String) -> Unit, modifier: Modifier = Modifier, ) { + val focusRequester = remember { FocusRequester() } TextField( value = value, onValueChange = onValueChange, @@ -60,8 +64,10 @@ fun SearchBar( imeAction = ImeAction.Search, ), singleLine = true, - modifier = modifier.focusable(), + modifier = modifier.focusable().focusRequester(focusRequester), ) + + LaunchedEffect(Unit) { focusRequester.requestFocus() } } @DevicePreviews