87 lines
2.4 KiB
QML
87 lines
2.4 KiB
QML
import QtQuick 2.12
|
||
import QtQuick.Controls 2.3
|
||
import QtGraphicalEffects 1.13
|
||
import QtQuick.Dialogs 1.3
|
||
|
||
import utils 1.0
|
||
import shared.controls 1.0
|
||
|
||
import StatusQ.Core 0.1
|
||
import StatusQ.Core.Theme 0.1
|
||
import StatusQ.Popups 0.1
|
||
import StatusQ.Controls 0.1 as StatusQControls
|
||
|
||
StatusModal {
|
||
id: root
|
||
width: 640
|
||
height: 400
|
||
|
||
property var store
|
||
|
||
function validate(communityKey) {
|
||
return Utils.isPrivateKey(communityKey) && Utils.startsWith0x(communityKey)
|
||
}
|
||
|
||
//% "Import Community"
|
||
header.title: qsTrId("Import Community")
|
||
|
||
onClosed: {
|
||
root.destroy();
|
||
}
|
||
|
||
contentItem: Item {
|
||
width: root.width - 32
|
||
anchors.left: parent.left
|
||
anchors.right: parent.right
|
||
anchors.leftMargin: 16
|
||
anchors.rightMargin: 16
|
||
height: childrenRect.height
|
||
|
||
StatusBaseText {
|
||
id: infoText1
|
||
anchors.top: parent.top
|
||
anchors.topMargin: Style.current.padding
|
||
//% "Entering a community key will grant you the ownership of that community. Please be responsible with it and don’t share the key with people you don’t trust."
|
||
text: qsTrId("entering-a-community-key-will-grant-you-the-ownership-of-that-community--please-be-responsible-with-it-and-don-t-share-the-key-with-people-you-don-t-trust-")
|
||
wrapMode: Text.WordWrap
|
||
width: parent.width
|
||
font.pixelSize: 13
|
||
color: Theme.palette.baseColor1
|
||
}
|
||
|
||
StyledTextArea {
|
||
id: keyInput
|
||
//% "Community private key"
|
||
label: qsTrId("Community key")
|
||
placeholderText: "0x0..."
|
||
customHeight: 110
|
||
anchors.top: infoText1.bottom
|
||
anchors.topMargin: Style.current.bigPadding
|
||
anchors.left: parent.left
|
||
anchors.right: parent.right
|
||
|
||
onTextChanged: {
|
||
importButton.enabled = root.validate(keyInput.text)
|
||
}
|
||
}
|
||
}
|
||
|
||
rightButtons: [
|
||
StatusQControls.StatusButton {
|
||
id: importButton
|
||
enabled: false
|
||
//% "Import"
|
||
text: qsTrId("import")
|
||
onClicked: {
|
||
let communityKey = keyInput.text.trim();
|
||
if (!communityKey.startsWith("0x")) {
|
||
communityKey = "0x" + communityKey;
|
||
}
|
||
|
||
root.store.importCommunity(communityKey);
|
||
root.close();
|
||
}
|
||
}
|
||
]
|
||
}
|