package ani.dantotsu.media import android.app.Activity import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import ani.dantotsu.R import ani.dantotsu.currActivity import ani.dantotsu.databinding.ItemCharacterDetailsBinding import ani.dantotsu.others.SpoilerPlugin import io.noties.markwon.Markwon import io.noties.markwon.SoftBreakAddsNewLinePlugin class CharacterDetailsAdapter(private val character: Character, private val activity: Activity) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): GenreViewHolder { val binding = ItemCharacterDetailsBinding.inflate(LayoutInflater.from(parent.context), parent, false) return GenreViewHolder(binding) } override fun onBindViewHolder(holder: GenreViewHolder, position: Int) { val binding = holder.binding val desc = (if (character.age != "null") "${currActivity()!!.getString(R.string.age)} ${character.age}" else "") + (if (character.dateOfBirth.toString() != "") "${currActivity()!!.getString(R.string.birthday)} ${character.dateOfBirth.toString()}" else "") + (if (character.gender != "null") currActivity()!!.getString(R.string.gender) + " " + when (character.gender) { currActivity()!!.getString(R.string.male) -> currActivity()!!.getString(R.string.male) currActivity()!!.getString(R.string.female) -> currActivity()!!.getString(R.string.female) else -> character.gender } else "") + "\n" + character.description binding.characterDesc.isTextSelectable val markWon = Markwon.builder(activity).usePlugin(SoftBreakAddsNewLinePlugin.create()) .usePlugin(SpoilerPlugin()).build() markWon.setMarkdown(binding.characterDesc, desc.replace("~!", "||").replace("!~", "||")) } override fun getItemCount(): Int = 1 inner class GenreViewHolder(val binding: ItemCharacterDetailsBinding) : RecyclerView.ViewHolder(binding.root) }