Show reactions again

This commit is contained in:
Nicolas Werner 2023-08-14 01:11:27 +02:00
parent 2360dfd80a
commit aef0cb9884
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

@ -63,7 +63,7 @@ Item {
id: wrapper id: wrapper
ListView.delayRemove: true ListView.delayRemove: true
width: chat.delegateMaxWidth width: chat.delegateMaxWidth
height: Math.max((section.item?.height ?? 0) + gridContainer.implicitHeight, 10) height: Math.max((section.item?.height ?? 0) + gridContainer.implicitHeight + reactionRow.implicitHeight + unreadRow.height, 10)
anchors.horizontalCenter: ListView.view.contentItem.horizontalCenter anchors.horizontalCenter: ListView.view.contentItem.horizontalCenter
//room: chatRoot.roommodel //room: chatRoot.roommodel
@ -81,6 +81,10 @@ Item {
required property string userId required property string userId
required property string userName required property string userName
required property string threadId required property string threadId
required property int userPowerlevel
required property var reactions
property int avatarMargin: (wrapper.isStateEvent || Settings.smallAvatars ? 0 : (Nheko.avatarSize + 8)) + (wrapper.threadId ? 6 : 0) // align bubble with section header
data: [ data: [
Loader { Loader {
@ -96,6 +100,7 @@ Item {
property date timestamp: wrapper.timestamp property date timestamp: wrapper.timestamp
property string userId: wrapper.userId property string userId: wrapper.userId
property string userName: wrapper.userName property string userName: wrapper.userName
property string userPowerlevel: wrapper.userPowerlevel
active: previousMessageUserId !== userId || previousMessageDay !== day || previousMessageIsStateEvent !== isStateEvent active: previousMessageUserId !== userId || previousMessageDay !== day || previousMessageIsStateEvent !== isStateEvent
//asynchronous: true //asynchronous: true
@ -112,7 +117,7 @@ Item {
ColumnLayout { ColumnLayout {
id: contentColumn id: contentColumn
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: (wrapper.isStateEvent || Settings.smallAvatars ? 0 : (Nheko.avatarSize + 8)) + (wrapper.threadId ? 6 : 0) // align bubble with section header Layout.leftMargin: wrapper.avatarMargin // align bubble with section header
AbstractButton { AbstractButton {
id: replyRow id: replyRow
@ -179,6 +184,37 @@ Item {
} }
}, },
Reactions {
id: reactionRow
eventId: wrapper.eventId
layoutDirection: row.bubbleOnRight ? Qt.RightToLeft : Qt.LeftToRight
reactions: wrapper.reactions
width: wrapper.width - wrapper.avatarMargin
x: wrapper.avatarMargin
anchors {
//left: row.bubbleOnRight ? undefined : row.left
//right: row.bubbleOnRight ? row.right : undefined
top: gridContainer.bottom
topMargin: -4
}
},
Rectangle {
id: unreadRow
color: palette.highlight
height: visible ? 3 : 0
visible: (wrapper.index > 0 && (room.fullyReadEventId == wrapper.eventId))
anchors {
left: parent.left
right: parent.right
top: reactionRow.bottom
topMargin: 5
}
},
Rectangle { Rectangle {
width: Math.min(contentColumn.implicitWidth, contentColumn.width) width: Math.min(contentColumn.implicitWidth, contentColumn.width)
height: contentColumn.implicitHeight height: contentColumn.implicitHeight