mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-15 04:07:03 +05:30
fix(android): simplify SearchList
component
This commit is contained in:
parent
a18ee3d6e5
commit
ba4cd1b0c6
1 changed files with 8 additions and 38 deletions
|
@ -6,24 +6,11 @@
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.claw.android.ui.lists
|
package dev.msfjarvis.claw.android.ui.lists
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
|
||||||
import androidx.compose.foundation.lazy.LazyListState
|
import androidx.compose.foundation.lazy.LazyListState
|
||||||
import androidx.compose.material.icons.Icons
|
|
||||||
import androidx.compose.material.icons.filled.SearchOff
|
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.material3.Text
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.testTag
|
import androidx.compose.ui.platform.testTag
|
||||||
import androidx.compose.ui.semantics.isTraversalGroup
|
import androidx.compose.ui.semantics.isTraversalGroup
|
||||||
|
@ -53,18 +40,13 @@ fun SearchList(
|
||||||
setSearchQuery(query)
|
setSearchQuery(query)
|
||||||
lazyPagingItems.refresh()
|
lazyPagingItems.refresh()
|
||||||
}
|
}
|
||||||
var searchActive by remember { mutableStateOf(false) }
|
|
||||||
Column(modifier = modifier.semantics { isTraversalGroup = true }.zIndex(1f).fillMaxWidth()) {
|
Column(modifier = modifier.semantics { isTraversalGroup = true }.zIndex(1f).fillMaxWidth()) {
|
||||||
SearchBar(
|
SearchBar(
|
||||||
value = searchQuery,
|
value = searchQuery,
|
||||||
onValueChange = setSearchQuery,
|
onValueChange = setSearchQuery,
|
||||||
onSearch = {
|
onSearch = { triggerSearch(it) },
|
||||||
triggerSearch(it)
|
|
||||||
searchActive = true
|
|
||||||
},
|
|
||||||
modifier = Modifier.fillMaxWidth().padding(horizontal = 8.dp).testTag("search_bar"),
|
modifier = Modifier.fillMaxWidth().padding(horizontal = 8.dp).testTag("search_bar"),
|
||||||
)
|
)
|
||||||
if (searchActive) {
|
|
||||||
NetworkPosts(
|
NetworkPosts(
|
||||||
lazyPagingItems = lazyPagingItems,
|
lazyPagingItems = lazyPagingItems,
|
||||||
listState = listState,
|
listState = listState,
|
||||||
|
@ -72,17 +54,5 @@ fun SearchList(
|
||||||
isPostRead = { false },
|
isPostRead = { false },
|
||||||
postActions = postActions,
|
postActions = postActions,
|
||||||
)
|
)
|
||||||
} else {
|
|
||||||
Box(modifier = Modifier.fillMaxSize()) {
|
|
||||||
Column(modifier = Modifier.align(Alignment.Center)) {
|
|
||||||
Icon(
|
|
||||||
imageVector = Icons.Filled.SearchOff,
|
|
||||||
contentDescription = "No search results",
|
|
||||||
modifier = Modifier.align(Alignment.CenterHorizontally).size(36.dp),
|
|
||||||
)
|
|
||||||
Text(text = "Nothing to see here", style = MaterialTheme.typography.headlineSmall)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue