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)
}
}
}