@@ -8,7 +8,9 @@ import androidx.compose.foundation.layout.Arrangement
8
8
import androidx.compose.foundation.layout.PaddingValues
9
9
import androidx.compose.foundation.layout.fillMaxSize
10
10
import androidx.compose.foundation.layout.fillMaxWidth
11
+ import androidx.compose.foundation.layout.padding
11
12
import androidx.compose.foundation.lazy.grid.GridCells
13
+ import androidx.compose.foundation.lazy.grid.GridItemSpan
12
14
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
13
15
import androidx.compose.foundation.lazy.grid.items
14
16
import androidx.compose.foundation.text.KeyboardActions
@@ -19,6 +21,8 @@ import androidx.compose.material.icons.filled.Search
19
21
import androidx.compose.material3.ExperimentalMaterial3Api
20
22
import androidx.compose.material3.Icon
21
23
import androidx.compose.material3.IconButton
24
+ import androidx.compose.material3.MaterialTheme
25
+ import androidx.compose.material3.Text
22
26
import androidx.compose.material3.TopAppBarDefaults
23
27
import androidx.compose.runtime.Composable
24
28
import androidx.compose.runtime.LaunchedEffect
@@ -36,6 +40,7 @@ import androidx.compose.ui.res.stringResource
36
40
import androidx.compose.ui.text.input.ImeAction
37
41
import androidx.compose.ui.tooling.preview.Preview
38
42
import androidx.compose.ui.unit.dp
43
+ import androidx.compose.ui.unit.sp
39
44
import androidx.hilt.navigation.compose.hiltViewModel
40
45
import androidx.lifecycle.Lifecycle
41
46
import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
@@ -190,7 +195,10 @@ private fun SearchContent(
190
195
) {
191
196
UsersGrid (
192
197
modifier = modifier,
193
- userItems = viewState.users
198
+ userItems = viewState.users,
199
+ submittedQuery = viewState
200
+ .submittedQuery
201
+ .takeUnless { viewState.isLoading || viewState.submittedQuery.isBlank() }
194
202
)
195
203
196
204
AnimatedVisibility (
@@ -223,6 +231,7 @@ private fun SearchContent(
223
231
@Composable
224
232
private fun UsersGrid (
225
233
userItems : ImmutableList <UserItem >,
234
+ submittedQuery : String? ,
226
235
modifier : Modifier = Modifier ,
227
236
) {
228
237
LazyVerticalGrid (
@@ -234,6 +243,20 @@ private fun UsersGrid(
234
243
verticalArrangement = Arrangement .spacedBy(8 .dp),
235
244
horizontalArrangement = Arrangement .spacedBy(8 .dp),
236
245
) {
246
+ if (submittedQuery != null ) {
247
+ item(
248
+ span = { GridItemSpan (maxCurrentLineSpan) },
249
+ ) {
250
+ Text (
251
+ modifier = Modifier .padding(vertical = 8 .dp),
252
+ text = " Search result for '$submittedQuery '" ,
253
+ style = MaterialTheme .typography
254
+ .titleLarge
255
+ .copy(fontSize = 20 .sp),
256
+ )
257
+ }
258
+ }
259
+
237
260
items(userItems, key = { it.id }) { userItem ->
238
261
UserItemCell (
239
262
userItem = userItem
@@ -260,7 +283,8 @@ fun PreviewUsersGrid() {
260
283
avatar = " avatar/$id " ,
261
284
).valueOr { throw IllegalArgumentException () }
262
285
)
263
- }.toImmutableList()
286
+ }.toImmutableList(),
287
+ submittedQuery = " hoc081098" ,
264
288
)
265
289
}
266
290
}
0 commit comments