139 lines
4.0 KiB
QML
139 lines
4.0 KiB
QML
import QtQuick 2.15
|
||
import QtQuick.Layouts 1.15
|
||
import QtGraphicalEffects 1.0
|
||
|
||
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
|
||
}
|
||
|
||
StatusBaseText {
|
||
Layout.maximumWidth: 405
|
||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||
font.weight: Font.Bold
|
||
font.pixelSize: Constants.onboarding.titleFontSize
|
||
text: qsTr("%1 will be right back!").arg(root.name)
|
||
wrapMode: Text.WordWrap
|
||
}
|
||
|
||
StatusBaseText {
|
||
Layout.maximumWidth: 405
|
||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||
horizontalAlignment: Text.AlignHCenter
|
||
font.pixelSize: Constants.onboarding.titleFontSize
|
||
text: qsTr("You will automatically re-enter the community and be able to view and post as normal as soon as the community’s control node comes back online.")
|
||
wrapMode: Text.WordWrap
|
||
}
|
||
|
||
Item {
|
||
Layout.fillHeight: true
|
||
}
|
||
}
|
||
}
|
||
|
||
Component {
|
||
id: fastBlur
|
||
|
||
FastBlur {
|
||
radius: 32
|
||
transparentBorder: true
|
||
}
|
||
}
|
||
}
|