diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/recipient/DmRecipientAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/recipient/DmRecipientAdapter.kt new file mode 100644 index 00000000..4fd5c5ef --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/recipient/DmRecipientAdapter.kt @@ -0,0 +1,36 @@ +package kr.co.vividnext.sodalive.v2.main.chat.recipient + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import kr.co.vividnext.sodalive.databinding.ItemDmRecipientBinding +import kr.co.vividnext.sodalive.v2.main.home.ui.loadHomeCreatorProfileImage + +class DmRecipientAdapter( + private val onClick: (DmRecipientUiModel) -> Unit +) : RecyclerView.Adapter() { + private var items: List = emptyList() + + fun submitItems(items: List) { + this.items = items + notifyDataSetChanged() + } + + override fun getItemCount(): Int = items.size + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecipientViewHolder = + RecipientViewHolder(ItemDmRecipientBinding.inflate(LayoutInflater.from(parent.context), parent, false)) + + override fun onBindViewHolder(holder: RecipientViewHolder, position: Int) { + holder.bind(items[position]) + } + + inner class RecipientViewHolder(private val binding: ItemDmRecipientBinding) : + RecyclerView.ViewHolder(binding.root) { + fun bind(item: DmRecipientUiModel) { + binding.ivProfile.loadHomeCreatorProfileImage(item.profileImageUrl) + binding.tvNickname.text = item.nickname + binding.root.setOnClickListener { onClick(item) } + } + } +} diff --git a/app/src/main/res/layout/item_dm_recipient.xml b/app/src/main/res/layout/item_dm_recipient.xml new file mode 100644 index 00000000..1469f7b2 --- /dev/null +++ b/app/src/main/res/layout/item_dm_recipient.xml @@ -0,0 +1,31 @@ + + + + + + +