Don't fire a new search if only the cursor position in the search bar has changed
This commit is contained in:
parent
5b35317412
commit
c2887f4b0a
@ -45,12 +45,12 @@ fun SearchBar(
|
|||||||
offScreen: Float,
|
offScreen: Float,
|
||||||
onFocus: () -> Unit = {}
|
onFocus: () -> Unit = {}
|
||||||
) {
|
) {
|
||||||
var searchQuery by remember { mutableStateOf(TextFieldValue()) }
|
var searchQuery by remember { mutableStateOf("") }
|
||||||
|
|
||||||
val viewModel: SearchViewModel = viewModel()
|
val viewModel: SearchViewModel = viewModel()
|
||||||
|
|
||||||
LaunchedEffect(searchQuery) {
|
LaunchedEffect(searchQuery) {
|
||||||
viewModel.search(searchQuery.text)
|
viewModel.search(searchQuery)
|
||||||
}
|
}
|
||||||
|
|
||||||
val pageTransition = (pagerState.currentPage + pagerState.currentPageOffset).coerceIn(0f, 1f)
|
val pageTransition = (pagerState.currentPage + pagerState.currentPageOffset).coerceIn(0f, 1f)
|
||||||
@ -101,7 +101,7 @@ fun SearchBar(
|
|||||||
if (it.isFocused) onFocus()
|
if (it.isFocused) onFocus()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (searchQuery.text.isEmpty()) {
|
if (searchQuery.isEmpty()) {
|
||||||
BasicText(
|
BasicText(
|
||||||
text = stringResource(id = R.string.edit_text_search_hint),
|
text = stringResource(id = R.string.edit_text_search_hint),
|
||||||
style = textStyle,
|
style = textStyle,
|
||||||
@ -113,8 +113,8 @@ fun SearchBar(
|
|||||||
Box {
|
Box {
|
||||||
IconButton(
|
IconButton(
|
||||||
onClick = {
|
onClick = {
|
||||||
if (searchQuery.text.isNotEmpty()) {
|
if (searchQuery.isNotEmpty()) {
|
||||||
searchQuery = TextFieldValue()
|
searchQuery = ""
|
||||||
} else {
|
} else {
|
||||||
showOverflowMenu = true
|
showOverflowMenu = true
|
||||||
}
|
}
|
||||||
@ -123,7 +123,7 @@ fun SearchBar(
|
|||||||
) {
|
) {
|
||||||
val menuClearIcon = animatedVectorResource(R.drawable.anim_ic_menu_clear)
|
val menuClearIcon = animatedVectorResource(R.drawable.anim_ic_menu_clear)
|
||||||
Icon(
|
Icon(
|
||||||
painter = menuClearIcon.painterFor(atEnd = searchQuery.text.isNotEmpty()),
|
painter = menuClearIcon.painterFor(atEnd = searchQuery.isNotEmpty()),
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user