|
@@ -72,9 +72,9 @@ import com.example.eatwell.view.ui.theme.knopka
|
|
|
import com.example.eatwell.view.ui.theme.text_1
|
|
|
import io.github.jan.supabase.gotrue.auth
|
|
|
|
|
|
-var dietId: Int = 1
|
|
|
+var dietId: Int = 1 //идентификатор выбранной диеты
|
|
|
var categoryId: Int = 1
|
|
|
-var flag: Boolean = false;
|
|
|
+var flag: Boolean = false; //используетя для того чтобы загрузить список рецептов только один раз
|
|
|
|
|
|
|
|
|
|
|
@@ -82,14 +82,14 @@ var flag: Boolean = false;
|
|
|
//@Preview(showBackground = true)
|
|
|
@Composable
|
|
|
fun home(navController: NavController) {
|
|
|
- var categoryExpanded by remember { mutableStateOf(false) }
|
|
|
- var expanded by remember { mutableStateOf(false) }
|
|
|
+ var categoryExpanded by remember { mutableStateOf(false) } //развернут ли выпадающий список
|
|
|
+ var expanded by remember { mutableStateOf(false) } // развернут ли выпадающий список диет
|
|
|
var expandedCat by remember { mutableStateOf(false) }
|
|
|
- var selectedOption: String
|
|
|
+ var selectedOption: String //храним название выбранной диеты
|
|
|
var selectedCategory: String
|
|
|
|
|
|
var list = remember { mutableStateListOf<Recipes>() }
|
|
|
- if(!flag) {
|
|
|
+ if(!flag) { // заполняет список list объектами из Resources.recipes. выполняется только один раз
|
|
|
for (i in 0..Resources.recipes.size - 1) {
|
|
|
list.add(Resources.recipes.get(i))
|
|
|
}
|
|
@@ -136,7 +136,7 @@ fun home(navController: NavController) {
|
|
|
.height(40.dp)
|
|
|
.clip(RoundedCornerShape(15.dp))
|
|
|
.background(fon)
|
|
|
- .clickable { categoryExpanded = !categoryExpanded }
|
|
|
+ .clickable { categoryExpanded = !categoryExpanded } //меняем состояние categoryExpanded
|
|
|
.padding(25.dp, 10.dp)
|
|
|
.testTag("categoryChoose")
|
|
|
) {
|
|
@@ -156,12 +156,13 @@ fun home(navController: NavController) {
|
|
|
|
|
|
)
|
|
|
}
|
|
|
- DropdownMenu(
|
|
|
+ DropdownMenu( // Выпадающий список диет, когда expanded равно true
|
|
|
expanded = expanded,
|
|
|
onDismissRequest = {
|
|
|
expanded = false
|
|
|
}
|
|
|
) {
|
|
|
+ //перебираем список диет создает для каждой диеты элемент DropdownMenuItem- элемент выпадающего списка
|
|
|
|
|
|
Resources.diets.forEach { diet ->
|
|
|
DropdownMenuItem(
|
|
@@ -170,12 +171,14 @@ fun home(navController: NavController) {
|
|
|
selectedOption = diet.name // Устанавливаем выбранный элемент
|
|
|
dietId = diet.id
|
|
|
list.clear()
|
|
|
+ //Цикл перебирает Resources.recipes и добавляет в list только те рецепты которые соответствуют выбранной диете и категории
|
|
|
for(i in 0..Resources.recipes.size-1){
|
|
|
if(Resources.recipes.get(i).diets == dietId && Resources.recipes.get(i).category == categoryId){
|
|
|
Log.d("Добавили: " ," ")
|
|
|
list.add(Resources.recipes.get(i))
|
|
|
}
|
|
|
}
|
|
|
+ //закрываем список
|
|
|
expanded = false
|
|
|
}
|
|
|
)
|
|
@@ -257,15 +260,16 @@ fun home(navController: NavController) {
|
|
|
LazyColumn(
|
|
|
modifier = Modifier.fillMaxSize()
|
|
|
) {
|
|
|
+ //отображаем список рецептов
|
|
|
|
|
|
- items(list.size) { itemId ->
|
|
|
+ items(list.size) { itemId -> //для каждого элемента создается itemId
|
|
|
Image(
|
|
|
painter = rememberImagePainter(
|
|
|
list.get(
|
|
|
itemId
|
|
|
).image
|
|
|
),
|
|
|
- contentDescription = "Image in LazyRow - $itemId",
|
|
|
+ contentDescription = "Image - $itemId",
|
|
|
modifier = Modifier
|
|
|
.padding(
|
|
|
top = 10.dp,
|
|
@@ -282,7 +286,7 @@ fun home(navController: NavController) {
|
|
|
.fillMaxWidth()
|
|
|
.padding(top = 7.5.dp)
|
|
|
.clickable {
|
|
|
- Resources.recept = list.get(itemId)
|
|
|
+ Resources.recept = list.get(itemId) //сохраняется выбранный рецепт
|
|
|
navController.navigate("recept") },
|
|
|
text = list.get(itemId).name,
|
|
|
color = Color.Black,
|