import QtQuick 2.14 import QtQuick.Controls 2.14 import QtQuick.Layouts 1.1 import QtQml.Models 2.14 import utils 1.0 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 import StatusQ.Components 0.1 import StatusQ.Popups.Dialog 0.1 StatusDialog { id: root property string name property string introMessage property int accessType property url imageSrc signal joined title: qsTr("Welcome to %1").arg(name) footer: StatusDialogFooter { rightButtons: ObjectModel { StatusButton { text: root.accessType === Constants.communityChatOnRequestAccess ? qsTr("Request to join %1").arg(root.name) : qsTr("Join %1").arg(root.name) enabled: checkBox.checked onClicked: { root.joined() root.close() } } } } ColumnLayout { anchors.fill: parent spacing: 24 StatusRoundedImage { Layout.alignment: Qt.AlignCenter Layout.preferredHeight: 64 Layout.preferredWidth: 64 visible: image.status == Image.Loading || image.status == Image.Ready image.source: root.imageSrc } StatusScrollView { Layout.minimumWidth: 300 Layout.preferredWidth: contentWidth Layout.fillHeight: true StatusBaseText { id: messageContent width: Math.min(implicitWidth, 640) text: root.introMessage !== "" ? root.introMessage : qsTr("Community %1 has no intro message...").arg(root.name) color: Theme.palette.directColor1 wrapMode: Text.WordWrap } } StatusCheckBox { id: checkBox Layout.alignment: Qt.AlignCenter text: qsTr("I agree with the above") } } }