Skip to content

Commit

Permalink
add functionality on search controller
Browse files Browse the repository at this point in the history
  • Loading branch information
mutukuian committed May 12, 2024
1 parent 58fd7d1 commit 23f607b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.OutlinedTextField
import androidx.compose.material3.Text
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.draw.clip

import androidx.compose.ui.unit.dp
Expand All @@ -26,30 +30,30 @@ fun SearchBar(
modifier: Modifier = Modifier,
searchQuery: String,
onSearchQueryChanged: (String) -> Unit,
onSearchClicked: () -> Unit // Add a new callback for search click
) {
var searchText by remember { mutableStateOf(searchQuery) } // Remember the search text

Row(
modifier = modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 8.dp)
.clip(RoundedCornerShape(8.dp))
.background(color = MaterialTheme.colorScheme.surfaceVariant),
) {
IconButton(onClick = { /*TODO*/ }) {
Icon(imageVector = Icons.Filled.Search, contentDescription = "Search Ships")
}
IconButton(onClick = { onSearchClicked() }) { // Trigger search on click
Icon(imageVector = Icons.Filled.Search, contentDescription = "Search Ships")
}
OutlinedTextField(
value = searchQuery,
onValueChange = onSearchQueryChanged,
value = searchText,
onValueChange = {
searchText = it // Update the remembered search text
onSearchQueryChanged(it) // Notify the listener about the change
},
modifier = Modifier.fillMaxWidth(),
placeholder = {
Text(text = "Search Ships")
},
// leadingIcon = {
// Icon(
// painter = painterResource(id = R.drawable.ic_search),
// contentDescription = "Search Icon"
// )
// }
Text(text = "Search Ships")
},
)
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.kocelainterview.presentation.ships_screen


import android.annotation.SuppressLint
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
Expand Down Expand Up @@ -35,16 +36,21 @@ import androidx.navigation.NavController
import coil.annotation.ExperimentalCoilApi
import coil.compose.rememberAsyncImagePainter
import com.example.kocelainterview.domain.model.Ship
import com.example.kocelainterview.presentation.search_controller.search_view_model.SearchViewModel


@SuppressLint("StateFlowValueCalledInComposition")
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ShipListScreen(

navController: NavController,
viewModel: ShipListViewModel = hiltViewModel()
viewModel: ShipListViewModel = hiltViewModel(),
view:SearchViewModel = hiltViewModel()
) {
val state = viewModel.state.value
val status = view.state.value

var searchText by remember { mutableStateOf("") }


Expand All @@ -60,10 +66,14 @@ fun ShipListScreen(
SearchBar(
modifier = Modifier.padding(horizontal = 16.dp, vertical = 8.dp),
searchQuery = searchText,
onSearchQueryChanged = { searchText = it }
onSearchQueryChanged = { searchText = it }, // Update the search query
onSearchClicked = {
view.searchShip(searchText)
}
)



Spacer(modifier = Modifier.height(24.dp))

LazyColumn {
Expand Down

0 comments on commit 23f607b

Please sign in to comment.