From 3df014362796e5b4b427f7c5af5f4cc23a88f573 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 11 Sep 2025 18:11:39 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/core/ui/components/fields/SearchBar.kt | 7 +------ .../choosetoken/ui/ChooseManagedTokenContent.kt | 10 ++++++++++ .../features/managetokens/ui/ManageTokensTopBar.kt | 10 +++++++++- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/fields/SearchBar.kt b/core/ui/src/main/java/com/tangem/core/ui/components/fields/SearchBar.kt index 2c45500ae0..12847efe53 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/fields/SearchBar.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/fields/SearchBar.kt @@ -11,7 +11,6 @@ import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material3.* import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.Stable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -47,10 +46,10 @@ fun SearchBar( modifier: Modifier = Modifier, colors: TextFieldColors = TangemSearchBarDefaults.defaultTextFieldColors, enabled: Boolean = true, + focusRequester: FocusRequester = remember { FocusRequester() }, ) { val keyboardController = LocalSoftwareKeyboardController.current val focusManager = LocalFocusManager.current - val focusRequester = remember { FocusRequester() } val interactionSource = remember { MutableInteractionSource() } BasicTextField( @@ -97,10 +96,6 @@ fun SearchBar( ) }, ) - - LaunchedEffect(Unit) { - focusRequester.requestFocus() - } } @Suppress("LongParameterList") diff --git a/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/choosetoken/ui/ChooseManagedTokenContent.kt b/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/choosetoken/ui/ChooseManagedTokenContent.kt index 632f901ca6..615347a07f 100644 --- a/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/choosetoken/ui/ChooseManagedTokenContent.kt +++ b/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/choosetoken/ui/ChooseManagedTokenContent.kt @@ -7,7 +7,10 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.* import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -37,6 +40,8 @@ import kotlinx.collections.immutable.toPersistentList @Composable internal fun ChooseManagedTokenContent(state: ChooseManagedTokenUM, modifier: Modifier = Modifier) { + val focusRequester = remember { FocusRequester() } + Scaffold( modifier = modifier, containerColor = TangemTheme.colors.background.tertiary, @@ -46,6 +51,7 @@ internal fun ChooseManagedTokenContent(state: ChooseManagedTokenUM, modifier: Mo modifier = Modifier.statusBarsPadding(), topBar = state.readContent.topBar, search = state.readContent.search, + focusRequester = focusRequester, ) }, content = { innerPadding -> @@ -57,6 +63,10 @@ internal fun ChooseManagedTokenContent(state: ChooseManagedTokenUM, modifier: Mo ) }, ) + + LaunchedEffect(Unit) { + focusRequester.requestFocus() + } } @Composable diff --git a/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/ui/ManageTokensTopBar.kt b/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/ui/ManageTokensTopBar.kt index 2b7d67794c..7ea91f6583 100644 --- a/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/ui/ManageTokensTopBar.kt +++ b/features/manage-tokens/impl/src/main/kotlin/com/tangem/features/managetokens/ui/ManageTokensTopBar.kt @@ -3,7 +3,9 @@ package com.tangem.features.managetokens.ui import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester import com.tangem.core.ui.components.appbar.TangemTopAppBar import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM import com.tangem.core.ui.components.fields.SearchBar @@ -14,7 +16,12 @@ import com.tangem.core.ui.res.TangemTheme import com.tangem.features.managetokens.entity.managetokens.ManageTokensTopBarUM @Composable -internal fun ManageTokensTopBar(topBar: ManageTokensTopBarUM?, search: SearchBarUM, modifier: Modifier = Modifier) { +internal fun ManageTokensTopBar( + topBar: ManageTokensTopBarUM?, + search: SearchBarUM, + modifier: Modifier = Modifier, + focusRequester: FocusRequester = remember { FocusRequester() }, +) { Column( modifier = modifier, ) { @@ -31,6 +38,7 @@ internal fun ManageTokensTopBar(topBar: ManageTokensTopBarUM?, search: SearchBar SearchBar( colors = TangemSearchBarDefaults.secondaryTextFieldColors, state = search, + focusRequester = focusRequester, modifier = Modifier .padding(bottom = TangemTheme.dimens.spacing12) .padding(horizontal = TangemTheme.dimens.spacing16),