2022-10-05 14:51:42 +00:00
|
|
|
import QtQuick 2.14
|
|
|
|
import QtQuick.Layouts 1.14
|
|
|
|
|
|
|
|
import StatusQ.Core 0.1
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
import StatusQ.Components 0.1
|
|
|
|
|
|
|
|
import shared 1.0
|
|
|
|
import shared.panels 1.0
|
2022-10-13 15:52:44 +00:00
|
|
|
import shared.controls 1.0
|
2022-10-05 14:51:42 +00:00
|
|
|
import utils 1.0
|
|
|
|
|
|
|
|
import "../controls"
|
|
|
|
|
2022-10-13 15:52:44 +00:00
|
|
|
ActivityNotificationBase {
|
2022-10-05 14:51:42 +00:00
|
|
|
id: root
|
|
|
|
|
2022-10-13 15:52:44 +00:00
|
|
|
bodyComponent: RowLayout {
|
2022-10-19 12:56:00 +00:00
|
|
|
height: 50
|
2022-10-13 15:52:44 +00:00
|
|
|
readonly property var community: root.store.getCommunityDetailsAsJson(notification.communityId)
|
2022-10-05 14:51:42 +00:00
|
|
|
|
2022-10-13 15:52:44 +00:00
|
|
|
StatusSmartIdenticon {
|
|
|
|
id: identicon
|
|
|
|
name: community.name
|
|
|
|
asset.width: 40
|
|
|
|
asset.height: 40
|
|
|
|
asset.color: community.color
|
|
|
|
asset.letterSize: width / 2.4
|
|
|
|
asset.name: community.image
|
|
|
|
asset.isImage: true
|
2022-10-19 12:56:00 +00:00
|
|
|
Layout.alignment: Qt.AlignVCenter
|
2022-10-18 19:46:57 +00:00
|
|
|
Layout.leftMargin: Style.current.padding
|
2022-10-13 15:52:44 +00:00
|
|
|
}
|
|
|
|
|
2022-10-18 19:46:57 +00:00
|
|
|
StatusBaseText {
|
2022-10-13 15:52:44 +00:00
|
|
|
text: qsTr("Request to join")
|
2022-10-29 07:17:35 +00:00
|
|
|
color: Theme.palette.baseColor1
|
|
|
|
font.weight: Font.Medium
|
|
|
|
font.pixelSize: 13
|
2022-10-13 15:52:44 +00:00
|
|
|
Layout.alignment: Qt.AlignVCenter
|
|
|
|
}
|
2022-10-05 14:51:42 +00:00
|
|
|
|
2022-10-13 15:52:44 +00:00
|
|
|
CommunityBadge {
|
|
|
|
communityName: community.name
|
|
|
|
communityImage: community.image
|
|
|
|
communityColor: community.color
|
|
|
|
onCommunityNameClicked: root.store.setActiveCommunity(notification.communityId)
|
|
|
|
Layout.alignment: Qt.AlignVCenter
|
|
|
|
}
|
2022-10-05 14:51:42 +00:00
|
|
|
|
2022-10-18 19:46:57 +00:00
|
|
|
StatusBaseText {
|
2022-10-13 15:52:44 +00:00
|
|
|
text: {
|
|
|
|
if (notification.membershipStatus === Constants.activityCenterMembershipStatusPending)
|
|
|
|
return qsTr("pending")
|
|
|
|
if (notification.membershipStatus === Constants.activityCenterMembershipStatusAccepted)
|
|
|
|
return qsTr("accepted")
|
|
|
|
if (notification.membershipStatus === Constants.activityCenterMembershipStatusDeclined)
|
|
|
|
return qsTr("declined")
|
|
|
|
return ""
|
|
|
|
}
|
2022-10-29 07:17:35 +00:00
|
|
|
color: Theme.palette.baseColor1
|
|
|
|
font.weight: Font.Medium
|
|
|
|
font.pixelSize: 13
|
2022-10-13 15:52:44 +00:00
|
|
|
Layout.alignment: Qt.AlignVCenter
|
2022-10-18 19:46:57 +00:00
|
|
|
Layout.fillWidth: true
|
2022-10-05 14:51:42 +00:00
|
|
|
}
|
2022-10-13 15:52:44 +00:00
|
|
|
}
|
|
|
|
|
2022-10-18 19:46:57 +00:00
|
|
|
ctaComponent: notification.membershipStatus === Constants.activityCenterMembershipStatusAccepted ? visitComponent : null
|
2022-10-13 15:52:44 +00:00
|
|
|
|
|
|
|
Component {
|
|
|
|
id: visitComponent
|
|
|
|
|
|
|
|
StyledTextEdit {
|
|
|
|
text: Utils.getLinkStyle(qsTr("Visit Community"), hoveredLink, Style.current.blue)
|
|
|
|
readOnly: true
|
|
|
|
textFormat: Text.RichText
|
|
|
|
color: Style.current.blue
|
|
|
|
font.pixelSize: 13
|
2022-10-29 07:17:35 +00:00
|
|
|
onLinkActivated: {
|
|
|
|
root.store.setActiveCommunity(notification.communityId)
|
|
|
|
root.activityCenterClose()
|
|
|
|
}
|
2022-10-05 14:51:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|