Загрузка данных


import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.chip.ChipGroup

class RecipeCatalogActivity : AppCompatActivity() {

    private lateinit var adapter: RecipeAdapter

    // Список португальских блюд из задания
    private val allRecipes = listOf(
        RecipeItem(1, "Caldo verde", "Традиционный португальский зеленый суп с капустой и чоризо", "Супы", 210, 4.8f, R.drawable.ic_launcher_background),
        RecipeItem(2, "Açorda", "Хлебный суп с чесноком, кинзой и яйцом пашот", "Супы", 280, 4.2f, R.drawable.ic_launcher_background),
        RecipeItem(3, "Sopa de Pedra", "Легендарный суп из камня с фасолью и колбасками", "Супы", 390, 4.7f, R.drawable.ic_launcher_background),
        RecipeItem(4, "Bacalhau à Brás", "Измельченная треска с жареным картофелем соломкой и яйцом", "Вторые блюда", 450, 4.9f, R.drawable.ic_launcher_background),
        RecipeItem(5, "Francesinha", "Знаменитый плотный сэндвич под острым томатным соусом", "Вторые блюда", 750, 4.6f, R.drawable.ic_launcher_background),
        RecipeItem(6, "Pastéis de Nata", "Слоеные корзиночки с нежным заварным кремом", "Десерты", 290, 5.0f, R.drawable.ic_launcher_background),
        RecipeItem(7, "Салат с тунцом и фасолью", "Свежий салат с отварной фасолью, луком и оливковым маслом", "Салаты", 220, 4.4f, R.drawable.ic_launcher_background)
    )

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_recipe_catalog)

        val recyclerView = findViewById<RecyclerView>(R.id.rvRecipes)
        recyclerView.layoutManager = LinearLayoutManager(this)

        adapter = RecipeAdapter(allRecipes) { selectedRecipe ->
            // При клике на карточку открываем экран с рецептом, таблицей и видео
            val intent = Intent(this, RecipeDetailActivity::class.java).apply {
                putExtra("RECIPE_ID", selectedRecipe.id)
                putExtra("RECIPE_TITLE", selectedRecipe.title)
            }
            startActivity(intent)
        }
        recyclerView.adapter = adapter

        // Фильтрация по разделам (Супы, Салаты и т.д.)
        val chipGroup = findViewById<ChipGroup>(R.id.chipGroupCategories)
        chipGroup.setOnCheckedStateChangeListener { _, checkedIds ->
            if (checkedIds.isEmpty()) return@setOnCheckedStateChangeListener
            
            val filtered = when (checkedIds[0]) {
                R.id.chipSoups -> allRecipes.filter { it.category == "Супы" }
                R.id.chipMains -> allRecipes.filter { it.category == "Вторые блюда" }
                R.id.chipDesserts -> allRecipes.filter { it.category == "Десерты" }
                R.id.chipSalads -> allRecipes.filter { it.category == "Салаты" }
                else -> allRecipes
            }
            adapter.updateData(filtered)
        }
    }
}