fix(ImportCommunityPopup): Support community link (#10557)

This commit is contained in:
Igor Sirotin 2023-05-04 18:37:44 +03:00 committed by GitHub
parent 88cd44c302
commit bb6e87deec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 23 deletions

View File

@ -63,10 +63,7 @@ MembersSelectorBase {
function lookupContact(value) {
value = value.trim()
if (value.startsWith(Constants.userLinkPrefix))
value = value.slice(Constants.userLinkPrefix.length)
value = Utils.dropUserLinkPrefix(value.trim())
if (Utils.isChatKey(value)) {
processContact(value)

View File

@ -24,8 +24,9 @@ StatusDialog {
property string importErrorMessage
readonly property string inputErrorMessage: isInputValid ? "" : qsTr("Invalid key")
readonly property string errorMessage: importErrorMessage || inputErrorMessage
readonly property bool isPrivateKey: Utils.isPrivateKey(keyInput.text)
readonly property bool isPublicKey: Utils.isChatKey(keyInput.text)
readonly property string inputKey: Utils.dropCommunityLinkPrefix(keyInput.text.trim())
readonly property bool isPrivateKey: Utils.isPrivateKey(inputKey)
readonly property bool isPublicKey: Utils.isChatKey(inputKey)
readonly property bool isInputValid: isPrivateKey || isPublicKey
}
@ -36,24 +37,24 @@ StatusDialog {
onClicked: root.reject()
}
StatusButton {
id: importButton
enabled: d.isInputValid
text: d.isPrivateKey ? qsTr("Make this an Owner Node") : qsTr("Import")
onClicked: {
let communityKey = keyInput.text.trim();
if (d.isPrivateKey) {
if (!communityKey.startsWith("0x")) {
communityKey = "0x" + communityKey;
id: importButton
enabled: d.isInputValid
text: d.isPrivateKey ? qsTr("Make this an Owner Node") : qsTr("Import")
onClicked: {
let communityKey = d.inputKey
if (d.isPrivateKey) {
if (!communityKey.startsWith("0x")) {
communityKey = "0x" + communityKey;
}
root.store.importCommunity(communityKey);
root.close();
}
root.store.importCommunity(communityKey);
root.close();
}
if (d.isPublicKey) {
importButton.loading = true
root.store.requestCommunityInfo(communityKey, true)
root.close();
}
}
if (d.isPublicKey) {
importButton.loading = true
root.store.requestCommunityInfo(communityKey, true)
root.close();
}
}
}
}
}

View File

@ -656,6 +656,18 @@ QtObject {
return key
}
function dropUserLinkPrefix(text) {
if (text.startsWith(Constants.userLinkPrefix))
text = text.slice(Constants.userLinkPrefix.length)
return text
}
function dropCommunityLinkPrefix(text) {
if (text.startsWith(Constants.communityLinkPrefix))
text = text.slice(Constants.communityLinkPrefix.length)
return text
}
// Leave this function at the bottom of the file as QT Creator messes up the code color after this
function isPunct(c) {
return /(!|\@|#|\$|%|\^|&|\*|\(|\)|\+|\||-|=|\\|{|}|[|]|"|;|'|<|>|\?|,|\.|\/)/.test(c)