fix(Zinnia): fix incorrect spacing in replies

This commit is contained in:
Cilly Leang 2025-10-08 16:12:13 +11:00
parent 40414b9214
commit 9113ee5b24
Signed by: cilly
GPG key ID: 6500251E087653C9

View file

@ -14,6 +14,8 @@ import com.aliucord.utils.DimenUtils.dp
import com.aliucord.utils.ViewUtils.findViewById import com.aliucord.utils.ViewUtils.findViewById
import com.aliucord.utils.accessField import com.aliucord.utils.accessField
import com.discord.databinding.WidgetChannelMembersListItemUserBinding import com.discord.databinding.WidgetChannelMembersListItemUserBinding
import com.discord.models.member.GuildMember
import com.discord.models.user.User
import com.discord.stores.StoreStream import com.discord.stores.StoreStream
import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListAdapter import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListAdapter
import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListViewHolderMember import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListViewHolderMember
@ -24,6 +26,10 @@ import kotlin.math.abs
private val ChannelMembersListViewHolderMember.binding private val ChannelMembersListViewHolderMember.binding
by accessField<WidgetChannelMembersListItemUserBinding>() by accessField<WidgetChannelMembersListItemUserBinding>()
private val WidgetChatListAdapterItemMessage.itemName
by accessField<TextView?>()
private val WidgetChatListAdapterItemMessage.replyName
by accessField<TextView?>()
data class Colours( data class Colours(
val fgP: Int, val fgP: Int,
@ -154,20 +160,17 @@ class Zinnia : Plugin() {
Int::class.javaPrimitiveType!!, Int::class.javaPrimitiveType!!,
ChatListEntry::class.java, ChatListEntry::class.java,
) { (_, _: Int, entry: MessageEntry) -> ) { (_, _: Int, entry: MessageEntry) ->
val username = itemView.findViewById<TextView?>("chat_list_adapter_item_text_name") itemName?.let { configureOn(it, entry.author?.color) }
?: return@after
configureOn(username, entry.author?.color)
} }
// Configures for reply preview username // Configures for reply preview username
patcher.after<WidgetChatListAdapterItemMessage>( patcher.after<WidgetChatListAdapterItemMessage>(
"configureReplyPreview", "configureReplyAuthor",
User::class.java,
GuildMember::class.java,
MessageEntry::class.java, MessageEntry::class.java,
) { (_, entry: MessageEntry) -> ) { (_, _: User, member: GuildMember) ->
val referencedAuthor = entry.replyData?.messageEntry?.author replyName?.let { configureOn(it, member.color) }
val replyUsername = itemView.findViewById<TextView?>("chat_list_adapter_item_text_decorator_reply_name")
?: return@after
configureOn(replyUsername, referencedAuthor?.color)
} }
} }
} }