feat: activity replies
This commit is contained in:
parent
a35887d4ac
commit
408737d510
6 changed files with 182 additions and 5 deletions
|
@ -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)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue