Skip to content

Commit

Permalink
fix(ImportCommunityPopup): Support community link
Browse files Browse the repository at this point in the history
  • Loading branch information
igor-sirotin committed May 4, 2023
1 parent a7050fe commit 55849d1
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 23 deletions.
5 changes: 1 addition & 4 deletions ui/app/AppLayouts/Chat/views/MembersSelectorView.qml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
39 changes: 20 additions & 19 deletions ui/imports/shared/popups/ImportCommunityPopup.qml
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand All @@ -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();
}
}
}
}
}
Expand Down
12 changes: 12 additions & 0 deletions ui/imports/utils/Utils.qml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 55849d1

Please sign in to comment.