diff --git a/resources/qml/delegates/EncryptionEnabled.qml b/resources/qml/delegates/EncryptionEnabled.qml new file mode 100644 index 00000000..d23e0469 --- /dev/null +++ b/resources/qml/delegates/EncryptionEnabled.qml @@ -0,0 +1,60 @@ +// SPDX-FileCopyrightText: 2023 Nheko Contributors +// +// SPDX-License-Identifier: GPL-3.0-or-later + +import ".." +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 +import im.nheko 1.0 + +Rectangle { + id: r + + required property string username + + radius: fontMetrics.lineSpacing / 2 + Nheko.paddingMedium + width: parent.width ? Math.min(parent.width, 700) : 0 + anchors.horizontalCenter: parent.horizontalCenter + height: contents.implicitHeight + Nheko.paddingMedium * 2 + color: Nheko.colors.alternateBase + border.color: Nheko.theme.green + border.width: 2 + + RowLayout { + id: contents + + anchors.fill: parent + anchors.margins: Nheko.paddingMedium + spacing: Nheko.paddingMedium + + Image { + source: "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?" + Nheko.theme.green + Layout.alignment: Qt.AlignVCenter + width: 24 + height: width + } + + Column { + spacing: Nheko.paddingSmall + Layout.fillWidth: true + + MatrixText { + text: qsTr("%1 enabled end-to-end encryption").arg(r.username) + font.bold: true + font.pointSize: 14 + color: Nheko.colors.text + width: parent.width + } + + MatrixText { + text: qsTr("Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.") + color: Nheko.colors.text + width: parent.width + } + + } + + } + +} diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml index d0569c5a..e8b76b6e 100644 --- a/resources/qml/delegates/MessageDelegate.qml +++ b/resources/qml/delegates/MessageDelegate.qml @@ -253,9 +253,8 @@ Item { DelegateChoice { roleValue: MtxEvent.Encryption - Pill { - text: qsTr("%1 enabled encryption").arg(d.userName) - isStateEvent: d.isStateEvent + EncryptionEnabled { + username: d.userName } } diff --git a/resources/res.qrc b/resources/res.qrc index 9eca9a98..9663b5a3 100644 --- a/resources/res.qrc +++ b/resources/res.qrc @@ -196,6 +196,7 @@ qml/voip/ScreenShare.qml qml/voip/VideoCall.qml confettiparticle.svg + qml/delegates/EncryptionEnabled.qml media/ring.ogg