moment/src/qml/Chat/Banners/InviteBanner.qml

52 lines
1.2 KiB
QML
Raw Normal View History

import QtQuick 2.12
import "../../Base"
import "../../utils.js" as Utils
Banner {
property string inviterId: ""
readonly property var inviterInfo:
2019-07-07 22:41:32 -04:00
inviterId ? users.find(inviterId) : null
color: theme.chat.inviteBanner.background
2019-04-28 11:01:38 -04:00
avatar.userId: inviterId
labelText: qsTr("%1 invited you to join the room.").arg(
inviterId && inviterInfo ?
Utils.coloredNameHtml(inviterInfo.displayName, inviterId) :
qsTr("Someone")
)
buttonModel: [
{
name: "accept",
text: qsTr("Accept"),
2019-07-18 04:23:23 -04:00
iconName: "invite-accept",
},
{
name: "decline",
text: qsTr("Decline"),
2019-07-18 04:23:23 -04:00
iconName: "invite-decline",
}
]
buttonCallbacks: ({
accept: button => {
button.loading = true
py.callClientCoro(
chatPage.userId, "join", [chatPage.roomId], () => {
button.loading = false
})
},
decline: button => {
button.loading = true
py.callClientCoro(
chatPage.userId, "room_leave", [chatPage.roomId], () => {
button.loading = false
})
}
})
}