2020-12-18 15:55:33 -05:00
import QtQuick 2.12
import QtQuick . Controls 2.3
import QtGraphicalEffects 1.13
import QtQuick . Dialogs 1.3
2021-09-28 18:04:06 +03:00
import utils 1.0
2021-10-28 00:27:49 +03:00
import shared . controls 1.0
2021-10-19 10:51:11 +02:00
import StatusQ . Core 0.1
import StatusQ . Core . Theme 0.1
import StatusQ . Popups 0.1
import StatusQ . Controls 0.1 as StatusQControls
StatusModal {
2021-10-22 23:49:47 +03:00
id: root
2022-03-23 13:56:25 +03:00
width: 640
2021-02-12 13:19:31 -05:00
height: 400
2020-12-18 15:55:33 -05:00
2021-11-30 10:49:36 -04:00
property var store
2021-10-22 23:49:47 +03:00
2022-02-02 18:54:28 +01:00
function validate ( communityKey ) {
2022-05-18 09:16:59 -04:00
return Utils . isPrivateKey ( communityKey ) && Utils . startsWith0x ( communityKey )
2021-03-10 15:25:06 +01:00
}
2022-04-04 13:26:30 +02:00
header.title: qsTr ( "Import Community" )
2020-12-18 15:55:33 -05:00
2021-02-12 13:19:31 -05:00
onClosed: {
2021-10-22 23:49:47 +03:00
root . destroy ( ) ;
2020-12-18 15:55:33 -05:00
}
2021-10-19 10:51:11 +02:00
contentItem: Item {
2021-10-22 23:49:47 +03:00
width: root . width - 32
2021-10-19 10:51:11 +02:00
anchors.left: parent . left
anchors.right: parent . right
anchors.leftMargin: 16
anchors.rightMargin: 16
height: childrenRect . height
2020-12-18 15:55:33 -05:00
2022-03-23 13:56:25 +03:00
StatusBaseText {
id: infoText1
anchors.top: parent . top
anchors.topMargin: Style . current . padding
2022-04-04 13:26:30 +02:00
text: qsTr ( "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." )
2022-03-23 13:56:25 +03:00
wrapMode: Text . WordWrap
width: parent . width
font.pixelSize: 13
color: Theme . palette . baseColor1
}
2021-02-12 13:19:31 -05:00
StyledTextArea {
2021-03-10 15:25:06 +01:00
id: keyInput
2022-04-04 13:26:30 +02:00
label: qsTr ( "Community private key" )
2021-02-12 13:19:31 -05:00
placeholderText: "0x0..."
customHeight: 110
2022-03-23 13:56:25 +03:00
anchors.top: infoText1 . bottom
anchors.topMargin: Style . current . bigPadding
2022-01-17 10:59:52 +01:00
anchors.left: parent . left
anchors.right: parent . right
2022-02-02 18:54:28 +01:00
onTextChanged: {
importButton . enabled = root . validate ( keyInput . text )
}
2021-02-12 13:19:31 -05:00
}
2020-12-18 15:55:33 -05:00
}
2021-10-19 10:51:11 +02:00
rightButtons: [
StatusQControls . StatusButton {
2022-02-02 18:54:28 +01:00
id: importButton
enabled: false
2022-04-04 13:26:30 +02:00
text: qsTr ( "Import" )
2021-10-19 10:51:11 +02:00
onClicked: {
2022-02-02 18:54:28 +01:00
let communityKey = keyInput . text . trim ( ) ;
2021-10-19 10:51:11 +02:00
if ( ! communityKey . startsWith ( "0x" ) ) {
2021-10-22 23:49:47 +03:00
communityKey = "0x" + communityKey ;
2021-10-19 10:51:11 +02:00
}
2020-12-18 15:55:33 -05:00
2022-02-02 18:54:28 +01:00
root . store . importCommunity ( communityKey ) ;
2021-10-22 23:49:47 +03:00
root . close ( ) ;
2021-10-19 10:51:11 +02:00
}
2020-12-18 15:55:33 -05:00
}
2021-10-19 10:51:11 +02:00
]
2020-12-18 15:55:33 -05:00
}