Clean focus / hide keyboard on detail

This commit is contained in:
Thomas Andres Gomez 2023-03-29 16:43:57 +02:00
parent d7cb0221a4
commit 5aaa3e325d

View file

@ -20,12 +20,15 @@ import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.Search
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
@ -70,7 +73,7 @@ sealed class HomeScreenErrorUio(
)
}
@OptIn(ExperimentalMaterialApi::class)
@OptIn(ExperimentalMaterialApi::class, ExperimentalComposeUiApi::class)
@Composable
fun HomeScreen(
bookViewModel: BookSearchViewModel = hiltViewModel(),
@ -80,6 +83,8 @@ fun HomeScreen(
val context = LocalContext.current
val navigation = LocalScreenNavHostController.current
val snackBarHost = LocalSnackHostState.current
val focus = LocalFocusManager.current
val keyboard = LocalSoftwareKeyboardController.current
val detailState: DetailBottomSheetState = rememberDetailBottomSheetState()
val filterState: FilterBottomSheetState = rememberFilterBottomSheetState()
val sortingState: SortBottomSheetState = rememberSortBottomSheetState()
@ -144,6 +149,8 @@ fun HomeScreen(
microListState = microListState,
microList = bookViewModel.microPaging,
onBook = {
focus.clearFocus(force = true)
keyboard?.hide()
scope.launch {
detailState.expandBookDetail(id = it)
}