Files
neochat/imports/Spectral/Component/Timeline/ReactionDelegate.qml
2019-10-06 19:10:31 -07:00

62 lines
1.7 KiB
QML

import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import Spectral.Setting 0.1
Flow {
visible: (reaction && reaction.length > 0) || false
spacing: 8
Repeater {
model: reaction
delegate: Control {
width: Math.min(implicitWidth, 128)
horizontalPadding: 6
verticalPadding: 0
contentItem: Label {
text: modelData.reaction + (modelData.count > 1 ? " " + modelData.count : "")
color: MPalette.lighter
font.pixelSize: 14
elide: Text.ElideRight
}
background: Rectangle {
radius: height / 2
color: modelData.hasLocalUser ? (MSettings.darkTheme ? Qt.darker(MPalette.accent, 1.55) : Qt.lighter(MPalette.accent, 1.55)) : MPalette.banner
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.visible: containsMouse
ToolTip.text: {
var text = "";
for (var i = 0; i < modelData.authors.length; i++) {
if (i === modelData.authors.length - 1 && i !== 0) {
text += " and "
} else if (i !== 0) {
text += ", "
}
text += modelData.authors[i].displayName
}
text += " reacted with " + modelData.reaction
return text
}
onClicked: currentRoom.toggleReaction(eventId, modelData.reaction)
}
}
}
}
}