From 9113ee5b24d143962b4b79882db9f4ea400314af Mon Sep 17 00:00:00 2001 From: Cilly Leang Date: Wed, 8 Oct 2025 16:12:13 +1100 Subject: [PATCH] fix(Zinnia): fix incorrect spacing in replies --- .../kotlin/moe/lava/awoocord/zinnia/Zinnia.kt | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/plugins/Zinnia/src/main/kotlin/moe/lava/awoocord/zinnia/Zinnia.kt b/plugins/Zinnia/src/main/kotlin/moe/lava/awoocord/zinnia/Zinnia.kt index 6b0f115..fb0e334 100644 --- a/plugins/Zinnia/src/main/kotlin/moe/lava/awoocord/zinnia/Zinnia.kt +++ b/plugins/Zinnia/src/main/kotlin/moe/lava/awoocord/zinnia/Zinnia.kt @@ -14,6 +14,8 @@ import com.aliucord.utils.DimenUtils.dp import com.aliucord.utils.ViewUtils.findViewById import com.aliucord.utils.accessField 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.widgets.channels.memberlist.adapter.ChannelMembersListAdapter import com.discord.widgets.channels.memberlist.adapter.ChannelMembersListViewHolderMember @@ -24,6 +26,10 @@ import kotlin.math.abs private val ChannelMembersListViewHolderMember.binding by accessField() +private val WidgetChatListAdapterItemMessage.itemName + by accessField() +private val WidgetChatListAdapterItemMessage.replyName + by accessField() data class Colours( val fgP: Int, @@ -154,20 +160,17 @@ class Zinnia : Plugin() { Int::class.javaPrimitiveType!!, ChatListEntry::class.java, ) { (_, _: Int, entry: MessageEntry) -> - val username = itemView.findViewById("chat_list_adapter_item_text_name") - ?: return@after - configureOn(username, entry.author?.color) + itemName?.let { configureOn(it, entry.author?.color) } } // Configures for reply preview username patcher.after( - "configureReplyPreview", + "configureReplyAuthor", + User::class.java, + GuildMember::class.java, MessageEntry::class.java, - ) { (_, entry: MessageEntry) -> - val referencedAuthor = entry.replyData?.messageEntry?.author - val replyUsername = itemView.findViewById("chat_list_adapter_item_text_decorator_reply_name") - ?: return@after - configureOn(replyUsername, referencedAuthor?.color) + ) { (_, _: User, member: GuildMember) -> + replyName?.let { configureOn(it, member.color) } } } }