Prechádzať zdrojové kódy

Комментарии

Anastasia 8 hodín pred
rodič
commit
ebefc73146

+ 15 - 11
EatWell/app/src/main/java/com/example/eatwell/view/mainActivity/Home.kt

@@ -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,