From 4ca7e9b32d395caa4b4bf66d5c893f53492a48de Mon Sep 17 00:00:00 2001 From: Alex Jbanca Date: Tue, 12 Mar 2024 17:03:41 +0200 Subject: [PATCH] fix(DisplayNameValidation): Integrate duplicate display name in joined communities --- .../Communities/stores/CommunitiesStore.qml | 5 ----- ui/imports/utils/Constants.qml | 11 +++++------ ui/imports/utils/Utils.qml | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/ui/app/AppLayouts/Communities/stores/CommunitiesStore.qml b/ui/app/AppLayouts/Communities/stores/CommunitiesStore.qml index 72daefd1d1..0747b7f210 100644 --- a/ui/app/AppLayouts/Communities/stores/CommunitiesStore.qml +++ b/ui/app/AppLayouts/Communities/stores/CommunitiesStore.qml @@ -100,11 +100,6 @@ QtObject { return root.communitiesModuleInst.getCommunityPublicKeyFromPrivateKey(privateKey); } - // Returns true if the provided displayName occurs in community members - function isDisplayNameDupeOfCommunityMember(displayName) { - root.communitiesModuleInst.isDisplayNameDupeOfCommunityMember(displayName) - } - function requestCommunityInfo(communityKey, shardCluster, shardIndex, importing = false) { const publicKey = Utils.isCompressedPubKey(communityKey) ? Utils.changeCommunityKeyCompression(communityKey) diff --git a/ui/imports/utils/Constants.qml b/ui/imports/utils/Constants.qml index 750c271a78..32d4f18f95 100644 --- a/ui/imports/utils/Constants.qml +++ b/ui/imports/utils/Constants.qml @@ -562,13 +562,12 @@ QtObject { name: "isAliasValidator" validate: function (t) { return !Utils.isAlias(t) } errorMessage: qsTr("Adjective-animal Display Name formats are not allowed") + }, + StatusValidator { + name: "isDuplicateInComunitiesValidator" + validate: function(t) { return !Utils.isDisplayNameDupeOfCommunityMember(t) } + errorMessage: qsTr("This Display Name is already in use in one of your joined communities") } - // https://github.com/status-im/status-desktop/issues/13434 - // StatusValidator { - // name: "isDuplicateInComunitiesValidator" - // validate: function(t) { return !globalUtils.isDuplicatedInComunities(t) } - // errorMessage: qsTr("This Display Name is already in use in one of your joined communities") - // } ] } diff --git a/ui/imports/utils/Utils.qml b/ui/imports/utils/Utils.qml index bc934284ff..1302311a01 100644 --- a/ui/imports/utils/Utils.qml +++ b/ui/imports/utils/Utils.qml @@ -962,4 +962,20 @@ QtObject { function addTimestampToURL(url) { return globalUtilsInst.addTimestampToURL(url) } + + // Returns true if the provided displayName occurs in community members + function isDisplayNameDupeOfCommunityMember(displayName) { + if (!communitiesModuleInst) + return false + + if (displayName === "") + return false + + const myDisplayName = Global.userProfile ? Global.userProfile.name : "" + + if (displayName === myDisplayName) + return false + + return communitiesModuleInst.isDisplayNameDupeOfCommunityMember(displayName) + } }