package com.notifyhub.viewer.ui import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.notifyhub.viewer.data.remote.AlertItem import com.notifyhub.viewer.databinding.ItemAlertBinding class AlertAdapter( private val items: List, private val onMarkRead: (AlertItem) -> Unit, ) : RecyclerView.Adapter() { class VH(val binding: ItemAlertBinding) : RecyclerView.ViewHolder(binding.root) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { val binding = ItemAlertBinding.inflate(LayoutInflater.from(parent.context), parent, false) return VH(binding) } override fun getItemCount(): Int = items.size override fun onBindViewHolder(holder: VH, position: Int) { val item = items[position] val title = when (item.type) { "otp" -> "OTP alert" "large_payment" -> "Large payment alert" "sync_failed" -> "Sync failure alert" else -> "Alert" } holder.binding.typeText.text = title val sender = item.message?.sender holder.binding.detailText.text = if (!sender.isNullOrBlank()) "From $sender" else "Tap to view" holder.binding.readBadge.visibility = if (item.isRead) android.view.View.GONE else android.view.View.VISIBLE holder.itemView.setOnClickListener { onMarkRead(item) } } }