diff --git a/app/src/main/java/com/lastwave/app/ui/search/SearchScreen.kt b/app/src/main/java/com/lastwave/app/ui/search/SearchScreen.kt index 0179d881b..fce25eb5f 100644 --- a/app/src/main/java/com/lastwave/app/ui/search/SearchScreen.kt +++ b/app/src/main/java/com/lastwave/app/ui/search/SearchScreen.kt @@ -59,6 +59,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton 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 @@ -66,10 +67,13 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import com.lastwave.app.R import androidx.compose.ui.text.AnnotatedString @@ -138,6 +142,13 @@ fun SearchScreen( // the overflow button keeps the full sheet. var miniTrayItem by remember { mutableStateOf(null) } val focusManager = LocalFocusManager.current + val focusRequester = remember { FocusRequester() } + val keyboardController = LocalSoftwareKeyboardController.current + + LaunchedEffect(Unit) { + focusRequester.requestFocus() + keyboardController?.show() + } Box( modifier = Modifier.fillMaxSize(), @@ -199,7 +210,8 @@ fun SearchScreen( ), modifier = Modifier .weight(1f) - .height(46.dp), + .height(46.dp) + .focusRequester(focusRequester), decorationBox = { innerTextField -> Row( modifier = Modifier