[Reactions] Get reactions in chat list working again with new lexicon (#8093)

* get chat list reactions working again with new lexicon

* fix weird android bug where background wasn't clipped
This commit is contained in:
Samuel Newman
2025-04-02 01:45:29 +03:00
committed by GitHub
parent 318b29d3fd
commit 5cb49314d0
5 changed files with 80 additions and 73 deletions
@@ -185,50 +185,61 @@ function ChatListItemReady({
lastMessageSentAt = convo.lastMessage.sentAt
}
if (ChatBskyConvoDefs.isDeletedMessageView(convo.lastMessage)) {
lastMessageSentAt = convo.lastMessage.sentAt
lastMessage = isDeletedAccount
? _(msg`Conversation deleted`)
: _(msg`Message deleted`)
}
if (ChatBskyConvoDefs.isMessageAndReactionView(convo.lastMessage)) {
const isFromMe =
convo.lastMessage.reaction.sender.did === currentAccount?.did
const lastMessageText = convo.lastMessage.message.text
const fallbackMessage = _(
msg({
message: 'a message',
comment: `If last message does not contain text, fall back to "{user} reacted to {a message}"`,
}),
)
if (isFromMe) {
lastMessage = _(
msg`You reacted ${convo.lastMessage.reaction.value} to ${
lastMessageText
? `"${convo.lastMessage.message.text}"`
: fallbackMessage
}`,
if (ChatBskyConvoDefs.isMessageAndReactionView(convo.lastReaction)) {
if (
!lastMessageSentAt ||
new Date(lastMessageSentAt) <
new Date(convo.lastReaction.reaction.createdAt)
) {
const isFromMe =
convo.lastReaction.reaction.sender.did === currentAccount?.did
const lastMessageText = convo.lastReaction.message.text
const fallbackMessage = _(
msg({
message: 'a message',
comment: `If last message does not contain text, fall back to "{user} reacted to {a message}"`,
}),
)
} else {
const senderDid = convo.lastMessage.reaction.sender.did
const sender = convo.members.find(member => member.did === senderDid)
if (sender) {
if (isFromMe) {
lastMessage = _(
msg`${sanitizeDisplayName(
sender.displayName || sender.handle,
)} reacted ${convo.lastMessage.reaction.value} to ${
msg`You reacted ${convo.lastReaction.reaction.value} to ${
lastMessageText
? `"${convo.lastMessage.message.text}"`
? `"${convo.lastReaction.message.text}"`
: fallbackMessage
}`,
)
} else {
lastMessage = _(
msg`Someone reacted ${convo.lastMessage.reaction.value} to ${
lastMessageText
? `"${convo.lastMessage.message.text}"`
: fallbackMessage
}`,
const senderDid = convo.lastReaction.reaction.sender.did
const sender = convo.members.find(
member => member.did === senderDid,
)
if (sender) {
lastMessage = _(
msg`${sanitizeDisplayName(
sender.displayName || sender.handle,
)} reacted ${convo.lastReaction.reaction.value} to ${
lastMessageText
? `"${convo.lastReaction.message.text}"`
: fallbackMessage
}`,
)
} else {
lastMessage = _(
msg`Someone reacted ${convo.lastReaction.reaction.value} to ${
lastMessageText
? `"${convo.lastReaction.message.text}"`
: fallbackMessage
}`,
)
}
}
}
}
@@ -241,6 +252,7 @@ function ChatListItemReady({
}, [
_,
convo.lastMessage,
convo.lastReaction,
currentAccount?.did,
isDeletedAccount,
convo.members,