feat(ActivityCenter): Kicked from community notification

This commit is contained in:
MishkaRogachev 2022-10-18 23:46:57 +04:00 committed by Mikhail Rogachev
parent 9c8fee09cd
commit 532700f6c7
5 changed files with 76 additions and 10 deletions

View File

@ -9,8 +9,8 @@ Rectangle {
id: root
z: 100 // NOTE: workaround for message overlay
height: visible ? 24 : 0
width: childrenRect.width + Style.current.smallPadding * 2
implicitWidth: childrenRect.width + Style.current.smallPadding
implicitHeight: visible ? 24 : 0
radius: height / 2
border.width: 1
border.color: Style.current.borderSecondary

View File

@ -64,7 +64,8 @@ Popup {
case ActivityCenterPopup.ActivityCategory.Membership:
return notificationType === Constants.activityCenterNotificationTypeCommunityInvitation ||
notificationType === Constants.activityCenterNotificationTypeCommunityMembershipRequest ||
notificationType === Constants.activityCenterNotificationTypeCommunityRequest
notificationType === Constants.activityCenterNotificationTypeCommunityRequest ||
notificationType === Constants.activityCenterNotificationTypeCommunityKicked
default:
return false
}
@ -92,6 +93,9 @@ Popup {
case Constants.activityCenterNotificationTypeCommunityRequest:
root.membershipCount += cnt;
break;
case Constants.ActivityCenterNotificationTypeCommunityKicked:
root.membershipCount += cnt;
break;
default:
break;
}
@ -250,6 +254,15 @@ Popup {
notification: model
}
}
DelegateChoice {
roleValue: Constants.activityCenterNotificationTypeCommunityKicked
ActivityNotificationCommunityKicked {
width: listView.availableWidth
store: root.store
notification: model
}
}
}
}
}

View File

@ -0,0 +1,51 @@
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
import shared.controls 1.0
import utils 1.0
import "../controls"
ActivityNotificationBase {
id: root
bodyComponent: RowLayout {
readonly property var community: root.store.getCommunityDetailsAsJson(notification.communityId)
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
Layout.leftMargin: Style.current.padding
}
StatusBaseText {
text: qsTr("You were kicked from")
font.pixelSize: 15
Layout.alignment: Qt.AlignVCenter
}
CommunityBadge {
communityName: community.name
communityImage: community.image
communityColor: community.color
onCommunityNameClicked: root.store.setActiveCommunity(notification.communityId)
Layout.alignment: Qt.AlignVCenter
}
Item {
Layout.fillWidth: true
}
}
}

View File

@ -27,12 +27,12 @@ ActivityNotificationBase {
asset.letterSize: width / 2.4
asset.name: community.image
asset.isImage: true
Layout.leftMargin: Style.current.padding
}
StyledText {
StatusBaseText {
text: qsTr("Request to join")
font.weight: Font.Medium
font.pixelSize: 13
font.pixelSize: 15
Layout.alignment: Qt.AlignVCenter
}
@ -44,7 +44,7 @@ ActivityNotificationBase {
Layout.alignment: Qt.AlignVCenter
}
StyledText {
StatusBaseText {
text: {
if (notification.membershipStatus === Constants.activityCenterMembershipStatusPending)
return qsTr("pending")
@ -54,13 +54,14 @@ ActivityNotificationBase {
return qsTr("declined")
return ""
}
font.weight: Font.Medium
font.pixelSize: 13
font.pixelSize: 15
color: Style.current.secondaryText
Layout.alignment: Qt.AlignVCenter
Layout.fillWidth: true
}
}
ctaComponent: notification.membershipStatus === Constants.activityCenterMembershipStatusPending ? visitComponent : null
ctaComponent: notification.membershipStatus === Constants.activityCenterMembershipStatusAccepted ? visitComponent : null
Component {
id: visitComponent

View File

@ -522,6 +522,7 @@ QtObject {
readonly property int activityCenterNotificationTypeCommunityInvitation: 6
readonly property int activityCenterNotificationTypeCommunityRequest: 7
readonly property int activityCenterNotificationTypeCommunityMembershipRequest: 8
readonly property int activityCenterNotificationTypeCommunityKicked: 9
readonly property int activityCenterMembershipStatusPending: 1
readonly property int activityCenterMembershipStatusAccepted: 2