searchScreen
This commit is contained in:
parent
e3c4a408b1
commit
a86bcad324
@ -22,6 +22,7 @@ import com.example.testktor.screen.main.FavouriteSneakersScreen
|
|||||||
import com.example.testktor.screen.main.KorzinaSneakersContent
|
import com.example.testktor.screen.main.KorzinaSneakersContent
|
||||||
import com.example.testktor.screen.main.KorzinaSneakersScreen
|
import com.example.testktor.screen.main.KorzinaSneakersScreen
|
||||||
import com.example.testktor.screen.main.PopularSneakersScreen
|
import com.example.testktor.screen.main.PopularSneakersScreen
|
||||||
|
import com.example.testktor.screen.main.SearchScreen
|
||||||
import com.example.testktor.screen.main.SuccessOrderSneakersScreen
|
import com.example.testktor.screen.main.SuccessOrderSneakersScreen
|
||||||
//import com.example.testktor.auth.AuthScreen
|
//import com.example.testktor.auth.AuthScreen
|
||||||
//import com.example.testktor.auth.RegistrationScreen
|
//import com.example.testktor.auth.RegistrationScreen
|
||||||
@ -79,6 +80,10 @@ class MainActivity : ComponentActivity() {
|
|||||||
composable("successOrderSneakers_screen") {
|
composable("successOrderSneakers_screen") {
|
||||||
SuccessOrderSneakersScreen(navController, viewModel)
|
SuccessOrderSneakersScreen(navController, viewModel)
|
||||||
}
|
}
|
||||||
|
composable("search_screen/{query}") { backStackEntry ->
|
||||||
|
val query = backStackEntry.arguments?.getString("query") ?: ""
|
||||||
|
SearchScreen(query = query, viewModel = viewModel, navController = navController)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,11 @@ fun TopNavigationBar(){
|
|||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
||||||
fun Searchbar(searchBox: String, onSearchChange: (String) -> Unit){
|
fun Searchbar(
|
||||||
|
searchBox: String,
|
||||||
|
onSearchChange: (String) -> Unit,
|
||||||
|
onSearchClick: () -> Unit
|
||||||
|
){
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@ -133,7 +137,7 @@ fun Searchbar(searchBox: String, onSearchChange: (String) -> Unit){
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
IconButton(onClick = { /* TODO: действие кнопки */ }) {
|
IconButton(onClick = onSearchClick) {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(id = R.drawable.group12),
|
painter = painterResource(id = R.drawable.group12),
|
||||||
contentDescription = "settings",
|
contentDescription = "settings",
|
||||||
|
@ -63,7 +63,13 @@ fun SneakersContent(
|
|||||||
.padding(16.dp),
|
.padding(16.dp),
|
||||||
) {
|
) {
|
||||||
TopNavigationBar()
|
TopNavigationBar()
|
||||||
Searchbar(searchBoxIn, { searchBoxIn = it })
|
Searchbar(
|
||||||
|
searchBox = searchBoxIn,
|
||||||
|
onSearchChange = { searchBoxIn = it },
|
||||||
|
onSearchClick = {
|
||||||
|
navController.navigate("search_screen/${searchBoxIn}")
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
Text(text = "Категории", fontSize = 16.sp)
|
Text(text = "Категории", fontSize = 16.sp)
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.example.testktor.screen.main
|
||||||
|
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.material3.Text
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
import androidx.compose.ui.unit.sp
|
||||||
|
import androidx.navigation.NavController
|
||||||
|
import com.example.testktor.SneakerShop
|
||||||
|
import com.example.testktor.ViewModel.MainViewModel
|
||||||
|
import com.example.testktor.method.main.SneakerSelection
|
||||||
|
import com.example.testktor.method.main.TopNavigationBar
|
||||||
|
import com.example.testktor.method.main.TopWriteNavigationBar
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun SearchScreen(
|
||||||
|
query: String,
|
||||||
|
viewModel: MainViewModel,
|
||||||
|
navController: NavController
|
||||||
|
) {
|
||||||
|
val sneakers = viewModel.sneakersCategories.sneakers
|
||||||
|
val filtered = sneakers.filter {
|
||||||
|
it.name.contains(query, ignoreCase = true)
|
||||||
|
}
|
||||||
|
|
||||||
|
Column(modifier = Modifier.padding(16.dp)) {
|
||||||
|
TopWriteNavigationBar(navController, "Поиск", viewModel)
|
||||||
|
SneakerSelection(
|
||||||
|
sneakers = filtered.map { SneakerShop(it, false, false) },
|
||||||
|
viewModel = viewModel
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user