QML the fallback auth dialog
1 files changed, 63 insertions, 0 deletions
diff --git a/resources/qml/dialogs/FallbackAuthDialog.qml b/resources/qml/dialogs/FallbackAuthDialog.qml
new file mode 100644
index 00000000..d9a7ac8f
--- /dev/null
+++ b/resources/qml/dialogs/FallbackAuthDialog.qml
@@ -0,0 +1,63 @@
+// SPDX-FileCopyrightText: Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+import QtQuick
+import QtQuick.Controls
+import im.nheko
+
+ApplicationWindow {
+ id: fallbackRoot
+
+ required property FallbackAuth fallback
+
+ function accept() {
+ fallback.confirm();
+ fallbackRoot.close();
+ }
+
+ function reject() {
+ fallback.cancel();
+ fallbackRoot.close();
+ }
+
+ color: palette.window
+ title: qsTr("Fallback authentication")
+ flags: Qt.Tool | Qt.WindowStaysOnTopHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
+ height: msg.implicitHeight + footer.implicitHeight
+ width: Math.max(msg.implicitWidth, footer.implicitWidth)
+
+ Shortcut {
+ sequence: StandardKey.Cancel
+ onActivated: fallbackRoot.reject()
+ }
+
+ Label {
+ id: msg
+
+ anchors.fill: parent
+ padding: 8
+ text: qsTr("Open the fallback, follow the steps, and confirm after completing them.")
+ }
+
+ footer: DialogButtonBox {
+ onAccepted: fallbackRoot.accept()
+ onRejected: fallbackRoot.reject()
+
+ Button {
+ text: qsTr("Open Fallback in Browser")
+ onClicked: fallback.openFallbackAuth()
+ }
+
+ Button {
+ text: qsTr("Cancel")
+ DialogButtonBox.buttonRole: DialogButtonBox.RejectRole
+ }
+
+ Button {
+ text: qsTr("Confirm")
+ DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
+ }
+ }
+
+}
|