import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Layouts 1.13 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 import StatusQ.Popups 0.1 import "../../imports/utils" as Imports import "../../shared" StatusModal { property bool pinFieldValid: false property bool submitted: false id: popup header.title: qsTr("Authenticate PIN") anchors.centerIn: parent height: 400 onOpened: { submitted = false pinField.text = ""; pinField.forceActiveFocus(Qt.MouseFocusReason) } contentItem: Item { Input { id: pinField anchors.rightMargin: 56 anchors.leftMargin: 56 anchors.top: parent.top anchors.topMargin: 88 placeholderText: qsTr("PIN") textField.echoMode: TextInput.Password onTextChanged: { [pinFieldValid, _] = Imports.Utils.validatePINs("first", pinField, pinField); } } StatusBaseText { text: qsTr("Insert your 6-digit PIN") wrapMode: Text.WordWrap anchors.right: parent.right anchors.left: parent.left anchors.bottom: parent.bottom anchors.bottomMargin: 20 horizontalAlignment: Text.AlignHCenter color: Theme.palette.directColor1 font.pixelSize: 12 } } rightButtons: [ StatusButton { id: submitBtn text: qsTr("Authenticate") enabled: pinFieldValid onClicked: { submitted = true keycardModel.authenticate(pinField.text) popup.close() } } ] }