package com.example.myapplication

import android.net.Uri
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView

class RecipeAdapter(
    private val recipes: List<Recipe>, // Liste der Rezepte
    private val onRecipeClick: (Recipe) -> Unit // Callback für Klick auf ein Rezept
) : RecyclerView.Adapter<RecipeAdapter.ViewHolder>() {

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(recipe: Recipe) {
            val title = itemView.findViewById<TextView>(R.id.recipeTitle)
            val image = itemView.findViewById<ImageView>(R.id.recipeImage)

            // Rezeptdaten anzeigen
            title.text = recipe.name
            if (recipe.imageUri != null) {
                image.setImageURI(Uri.parse(recipe.imageUri))
            } else {
                image.setImageResource(R.drawable.platzhalter) // Platzhalterbild
            }

            // Klick-Listener für das Rezept
            itemView.setOnClickListener {
                onRecipeClick(recipe)
            }
        }
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_recipe, parent, false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        holder.bind(recipes[position])
    }

    override fun getItemCount() = recipes.size // Gesamtanzahl der Rezepte
}