status-desktop/ui/app/AppLayouts/Chat/CommunityComponents/CommunityHeaderButton.qml

102 lines
3.4 KiB
QML
Raw Normal View History

2020-12-15 16:04:19 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import "../../../../shared"
import "../../../../shared/status"
2020-12-15 16:04:19 +00:00
import "../../../../imports"
import "../components"
import "./"
Button {
implicitWidth: Math.max(communityImage.width + communityName.width + Style.current.padding, 200)
implicitHeight: communityImage.height + Style.current.padding
background: Rectangle {
id: btnBackground
radius: Style.current.radius
color: Style.current.transparent
2020-12-15 16:04:19 +00:00
}
contentItem: Item {
id: content
Loader {
2020-12-15 16:04:19 +00:00
id: communityImage
anchors.verticalCenter: parent.verticalCenter
active: true
sourceComponent: !chatsModel.communities.activeCommunity.thumbnailImage ? letterIdenticon : imageIcon
2020-12-15 16:04:19 +00:00
}
Component {
id: imageIcon
RoundedImage {
width: 40
height: 40
source: chatsModel.communities.activeCommunity.thumbnailImage
noMouseArea: true
}
}
Component {
id: letterIdenticon
StatusLetterIdenticon {
width: 40
height: 40
chatName: chatsModel.communities.activeCommunity.name
color: chatsModel.communities.activeCommunity.communityColor || Style.current.blue
}
}
Item {
height: childrenRect.height
width: childrenRect.width
2020-12-15 16:04:19 +00:00
anchors.left: communityImage.right
anchors.leftMargin: Style.current.halfPadding
anchors.verticalCenter: parent.verticalCenter
2020-12-15 16:04:19 +00:00
StyledText {
id: communityName
text: chatsModel.communities.activeCommunity.name
font.pixelSize: 15
font.weight: Font.Bold
}
StyledText {
id: communityNbMember
text: chatsModel.communities.activeCommunity.nbMembers === 1 ?
qsTr("1 member") :
qsTr("%1 members").arg(chatsModel.communities.activeCommunity.nbMembers)
anchors.left: communityName.left
anchors.top: communityName.bottom
font.pixelSize: 14
color: Style.current.secondaryText
}
2020-12-15 16:04:19 +00:00
}
}
MouseArea {
id: mouseAreaBtn
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onPressed: {
communityProfilePopup.communityId = chatsModel.communities.activeCommunity.id;
communityProfilePopup.name = chatsModel.communities.activeCommunity.name;
communityProfilePopup.description = chatsModel.communities.activeCommunity.description;
communityProfilePopup.access = chatsModel.communities.activeCommunity.access;
communityProfilePopup.nbMembers = chatsModel.communities.activeCommunity.nbMembers;
communityProfilePopup.isAdmin = chatsModel.communities.activeCommunity.admin
communityProfilePopup.source = chatsModel.communities.activeCommunity.thumbnailImage
communityProfilePopup.communityColor = chatsModel.communities.activeCommunity.communityColor
communityProfilePopup.open();
}
2020-12-15 16:04:19 +00:00
hoverEnabled: true
onExited: {
btnBackground.color = Style.current.transparent
2020-12-15 16:04:19 +00:00
}
onEntered: {
btnBackground.color = Style.current.backgroundHover
2020-12-15 16:04:19 +00:00
}
}
}