compose: search: Show error when no apps are available
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -107,6 +107,7 @@ private fun ScreenContent(
|
|||||||
val textFieldState = rememberTextFieldState()
|
val textFieldState = rememberTextFieldState()
|
||||||
val searchBarState = rememberSearchBarState()
|
val searchBarState = rememberSearchBarState()
|
||||||
val scrollBehavior = SearchBarDefaults.enterAlwaysSearchBarScrollBehavior()
|
val scrollBehavior = SearchBarDefaults.enterAlwaysSearchBarScrollBehavior()
|
||||||
|
var isSearching by rememberSaveable { mutableStateOf(false) }
|
||||||
|
|
||||||
val focusRequester = remember { FocusRequester() }
|
val focusRequester = remember { FocusRequester() }
|
||||||
val scaffoldNavigator = rememberListDetailPaneScaffoldNavigator<String>()
|
val scaffoldNavigator = rememberListDetailPaneScaffoldNavigator<String>()
|
||||||
@@ -132,6 +133,7 @@ private fun ScreenContent(
|
|||||||
textFieldState.setTextAndPlaceCursorAtEnd(query.trim())
|
textFieldState.setTextAndPlaceCursorAtEnd(query.trim())
|
||||||
coroutineScope.launch { searchBarState.animateToCollapsed() }
|
coroutineScope.launch { searchBarState.animateToCollapsed() }
|
||||||
onSearch(textFieldState.text.toString())
|
onSearch(textFieldState.text.toString())
|
||||||
|
isSearching = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -199,7 +201,7 @@ private fun ScreenContent(
|
|||||||
.padding(vertical = dimensionResource(R.dimen.padding_medium))
|
.padding(vertical = dimensionResource(R.dimen.padding_medium))
|
||||||
) {
|
) {
|
||||||
FilterHeader(
|
FilterHeader(
|
||||||
isEnabled = results.itemCount > 0,
|
isEnabled = isSearching && results.loadState.refresh is LoadState.NotLoading,
|
||||||
isAnonymous = isAnonymous,
|
isAnonymous = isAnonymous,
|
||||||
onFilter = onFilter
|
onFilter = onFilter
|
||||||
)
|
)
|
||||||
@@ -216,16 +218,24 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
LazyColumn {
|
if (isSearching && results.itemCount == 0) {
|
||||||
items(
|
ErrorComposable(
|
||||||
count = results.itemCount,
|
modifier = Modifier.padding(paddingValues),
|
||||||
key = results.itemKey { it.id }
|
icon = R.drawable.ic_disclaimer,
|
||||||
) { index ->
|
message = R.string.no_apps_available
|
||||||
results[index]?.let { app ->
|
)
|
||||||
AppListComposable(
|
} else {
|
||||||
app = app,
|
LazyColumn {
|
||||||
onClick = { showDetailPane(app.packageName) }
|
items(
|
||||||
)
|
count = results.itemCount,
|
||||||
|
key = results.itemKey { it.id }
|
||||||
|
) { index ->
|
||||||
|
results[index]?.let { app ->
|
||||||
|
AppListComposable(
|
||||||
|
app = app,
|
||||||
|
onClick = { showDetailPane(app.packageName) }
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user