import QtQuick 2.15 import QtQuick.Layouts 1.15 import QtGraphicalEffects 1.15 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Components 0.1 import StatusQ.Controls 0.1 import StatusQ.Layout 0.1 ColumnLayout { id: root property string name property string chatDateTimeText property string listUsersText property var messagesModel spacing: 0 // Blur background: Item { Layout.fillWidth: true Layout.preferredHeight: Math.min( centralPanelData.implicitHeight, parent.height) ColumnLayout { id: centralPanelData width: parent.width layer.enabled: true layer.effect: fastBlur StatusBaseText { Layout.alignment: Qt.AlignHCenter Layout.topMargin: 30 Layout.bottomMargin: 30 text: root.chatDateTimeText font.pixelSize: 13 color: Theme.palette.baseColor1 } RowLayout { Layout.alignment: Qt.AlignHCenter StatusBaseText { text: root.listUsersText font.pixelSize: 13 } } ListView { Layout.fillWidth: true Layout.preferredHeight: childrenRect.height + spacing Layout.topMargin: 16 spacing: 16 model: root.messagesModel delegate: StatusMessage { width: ListView.view.width timestamp: model.timestamp enabled: false messageDetails: StatusMessageDetails { messageText: model.message contentType: model.contentType sender.displayName: model.senderDisplayName sender.isContact: model.isContact sender.trustIndicator: model.trustIndicator sender.profileImage: StatusProfileImageSettings { width: 40 height: 40 name: model.profileImage || "" colorId: model.colorId } } } } } } // User information content Rectangle { id: panelBase Layout.fillWidth: true Layout.fillHeight: true color: Theme.palette.statusAppLayout.rightPanelBackgroundColor gradient: Gradient { GradientStop { position: 0.000 color: "transparent" } GradientStop { position: 0.180 color: panelBase.color } } ColumnLayout { anchors.fill: parent spacing: 0 Item { Layout.fillHeight: true } RowLayout { Layout.alignment: Qt.AlignHCenter spacing: 6 StatusSmartIdenticon { Layout.alignment: Qt.AlignVCenter asset { width: 24 height: width name: "communities" color: Theme.palette.dangerColor1 bgWidth: 22 bgHeight: 22 } } StatusBaseText { text: qsTr("You've been banned from %1").arg(root.name) color: Theme.palette.dangerColor1 font.pixelSize: Theme.secondaryAdditionalTextSize } } Item { Layout.fillHeight: true } } } Component { id: fastBlur FastBlur { radius: 32 transparentBorder: true } } }