feat: activity replies

This commit is contained in:
rebelonion 2024-03-11 04:28:13 -05:00
parent a35887d4ac
commit 408737d510
6 changed files with 182 additions and 5 deletions

View file

@ -0,0 +1,40 @@
package ani.dantotsu.profile.activity
import android.view.View
import androidx.core.content.ContextCompat
import ani.dantotsu.R
import ani.dantotsu.buildMarkwon
import ani.dantotsu.connections.anilist.api.ActivityReply
import ani.dantotsu.databinding.ItemActivityReplyBinding
import ani.dantotsu.loadImage
import ani.dantotsu.util.AniMarkdown.Companion.getBasicAniHTML
import com.xwray.groupie.viewbinding.BindableItem
class ActivityReplyItem(
private val reply: ActivityReply
) : BindableItem<ItemActivityReplyBinding>() {
private lateinit var binding: ItemActivityReplyBinding
override fun bind(viewBinding: ItemActivityReplyBinding, position: Int) {
binding = viewBinding
binding.activityUserAvatar.loadImage(reply.user.avatar?.medium)
binding.activityUserName.text = reply.user.name
binding.activityTime.text = ActivityItemBuilder.getDateTime(reply.createdAt)
binding.activityLikeCount.text = reply.likeCount.toString()
val likeColor = ContextCompat.getColor(binding.root.context, R.color.yt_red)
val notLikeColor = ContextCompat.getColor(binding.root.context, R.color.bg_opp)
binding.activityLike.setColorFilter(if (reply.isLiked) likeColor else notLikeColor)
val markwon = buildMarkwon(binding.root.context)
markwon.setMarkdown(binding.activityContent, getBasicAniHTML(reply.text))
}
override fun getLayout(): Int {
return R.layout.item_activity_reply
}
override fun initializeViewBinding(view: View): ItemActivityReplyBinding {
return ItemActivityReplyBinding.bind(view)
}
}