fix(CommunityMembershipSetupDialog): wait for the Join Permission response only
- introduce a new boolean property `checkingPermissionToJoinInProgress` and use it to enable/disable the Join (share addresses) button when joining a community - we don't have to wait for both join and channels permissions check to finish, as the former is much faster - renamed `joinPermissionsCheckSuccessful` to `joinPermissionsCheckCompletedWithoutErrors` to avoid confusion Fixes #14680
This commit is contained in:
parent
e82207c7cb
commit
93d808d020
|
@ -267,3 +267,6 @@ method removeCommunityChat*(self: AccessInterface, communityId: string, channelI
|
||||||
|
|
||||||
method promoteSelfToControlNode*(self: AccessInterface, communityId: string) {.base.} =
|
method promoteSelfToControlNode*(self: AccessInterface, communityId: string) {.base.} =
|
||||||
raise newException(ValueError, "No implementation available")
|
raise newException(ValueError, "No implementation available")
|
||||||
|
|
||||||
|
method getCheckingPermissionToJoinInProgress*(self: AccessInterface): bool {.base.} =
|
||||||
|
raise newException(ValueError, "No implementation available")
|
||||||
|
|
|
@ -97,6 +97,7 @@ method setAllCommunities*(self: Module, communities: seq[CommunityDto])
|
||||||
method setCuratedCommunities*(self: Module, curatedCommunities: seq[CommunityDto])
|
method setCuratedCommunities*(self: Module, curatedCommunities: seq[CommunityDto])
|
||||||
proc buildTokensAndCollectiblesFromAllCommunities(self: Module)
|
proc buildTokensAndCollectiblesFromAllCommunities(self: Module)
|
||||||
proc buildTokensAndCollectiblesFromCommunities(self: Module, communities: seq[CommunityDto])
|
proc buildTokensAndCollectiblesFromCommunities(self: Module, communities: seq[CommunityDto])
|
||||||
|
proc setCheckingPermissionToJoinInProgress(self: Module, inProgress: bool)
|
||||||
|
|
||||||
proc newModule*(
|
proc newModule*(
|
||||||
delegate: delegate_interface.AccessInterface,
|
delegate: delegate_interface.AccessInterface,
|
||||||
|
@ -131,7 +132,7 @@ proc newModule*(
|
||||||
result.moduleLoaded = false
|
result.moduleLoaded = false
|
||||||
result.events = events
|
result.events = events
|
||||||
result.curatedCommunitiesLoaded = false
|
result.curatedCommunitiesLoaded = false
|
||||||
result.checkingPermissionToJoinInProgress = false
|
result.setCheckingPermissionToJoinInProgress(false)
|
||||||
result.checkingAllChannelPermissionsInProgress = false
|
result.checkingAllChannelPermissionsInProgress = false
|
||||||
|
|
||||||
method delete*(self: Module) =
|
method delete*(self: Module) =
|
||||||
|
@ -859,7 +860,7 @@ method checkPermissions*(self: Module, communityId: string, sharedAddresses: seq
|
||||||
|
|
||||||
self.controller.asyncCheckPermissionsToJoin(communityId, sharedAddresses)
|
self.controller.asyncCheckPermissionsToJoin(communityId, sharedAddresses)
|
||||||
self.view.setJoinPermissionsCheckSuccessful(false)
|
self.view.setJoinPermissionsCheckSuccessful(false)
|
||||||
self.checkingPermissionToJoinInProgress = true
|
self.setCheckingPermissionToJoinInProgress(true)
|
||||||
|
|
||||||
self.controller.asyncCheckAllChannelsPermissions(communityId, sharedAddresses)
|
self.controller.asyncCheckAllChannelsPermissions(communityId, sharedAddresses)
|
||||||
self.view.setChannelsPermissionsCheckSuccessful(false)
|
self.view.setChannelsPermissionsCheckSuccessful(false)
|
||||||
|
@ -938,9 +939,18 @@ proc updateCheckingPermissionsInProgressIfNeeded(self: Module, inProgress = fals
|
||||||
return
|
return
|
||||||
self.view.setCheckingPermissionsInProgress(inProgress)
|
self.view.setCheckingPermissionsInProgress(inProgress)
|
||||||
|
|
||||||
|
method getCheckingPermissionToJoinInProgress*(self: Module): bool =
|
||||||
|
self.checkingPermissionToJoinInProgress
|
||||||
|
|
||||||
|
proc setCheckingPermissionToJoinInProgress(self: Module, inProgress: bool) =
|
||||||
|
if self.checkingPermissionToJoinInProgress == inProgress:
|
||||||
|
return
|
||||||
|
self.checkingPermissionToJoinInProgress = inProgress
|
||||||
|
self.view.checkingPermissionToJoinInProgressChanged()
|
||||||
|
|
||||||
method onCommunityCheckPermissionsToJoinFailed*(self: Module, communityId: string, error: string) =
|
method onCommunityCheckPermissionsToJoinFailed*(self: Module, communityId: string, error: string) =
|
||||||
self.view.setJoinPermissionsCheckSuccessful(false)
|
self.view.setJoinPermissionsCheckSuccessful(false)
|
||||||
self.checkingPermissionToJoinInProgress = false
|
self.setCheckingPermissionToJoinInProgress(false)
|
||||||
self.updateCheckingPermissionsInProgressIfNeeded(inProgress = false)
|
self.updateCheckingPermissionsInProgressIfNeeded(inProgress = false)
|
||||||
|
|
||||||
method onCommunityCheckAllChannelPermissionsFailed*(self: Module, communityId: string, error: string) =
|
method onCommunityCheckAllChannelPermissionsFailed*(self: Module, communityId: string, error: string) =
|
||||||
|
@ -954,7 +964,7 @@ method onCommunityCheckPermissionsToJoinResponse*(self: Module, communityId: str
|
||||||
self.joiningCommunityDetails.communityIdForPermissions != communityId:
|
self.joiningCommunityDetails.communityIdForPermissions != communityId:
|
||||||
return
|
return
|
||||||
self.applyPermissionResponse(communityId, checkPermissionsToJoinResponse.permissions)
|
self.applyPermissionResponse(communityId, checkPermissionsToJoinResponse.permissions)
|
||||||
self.checkingPermissionToJoinInProgress = false
|
self.setCheckingPermissionToJoinInProgress(false)
|
||||||
self.view.setJoinPermissionsCheckSuccessful(true)
|
self.view.setJoinPermissionsCheckSuccessful(true)
|
||||||
self.updateCheckingPermissionsInProgressIfNeeded(inProgress = false)
|
self.updateCheckingPermissionsInProgressIfNeeded(inProgress = false)
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ QtObject:
|
||||||
discordImportHasCommunityImage: bool
|
discordImportHasCommunityImage: bool
|
||||||
downloadingCommunityHistoryArchives: bool
|
downloadingCommunityHistoryArchives: bool
|
||||||
checkingPermissionsInProgress: bool
|
checkingPermissionsInProgress: bool
|
||||||
joinPermissionsCheckSuccessful: bool
|
joinPermissionsCheckCompletedWithoutErrors: bool
|
||||||
channelsPermissionsCheckSuccessful: bool
|
channelsPermissionsCheckSuccessful: bool
|
||||||
myRevealedAddressesStringForCurrentCommunity: string
|
myRevealedAddressesStringForCurrentCommunity: string
|
||||||
myRevealedAirdropAddressForCurrentCommunity: string
|
myRevealedAirdropAddressForCurrentCommunity: string
|
||||||
|
@ -123,7 +123,7 @@ QtObject:
|
||||||
result.collectiblesListModel = newTokenListModel()
|
result.collectiblesListModel = newTokenListModel()
|
||||||
result.collectiblesListModelVariant = newQVariant(result.collectiblesListModel)
|
result.collectiblesListModelVariant = newQVariant(result.collectiblesListModel)
|
||||||
result.checkingPermissionsInProgress = false
|
result.checkingPermissionsInProgress = false
|
||||||
result.joinPermissionsCheckSuccessful = false
|
result.joinPermissionsCheckCompletedWithoutErrors = false
|
||||||
result.channelsPermissionsCheckSuccessful = false
|
result.channelsPermissionsCheckSuccessful = false
|
||||||
|
|
||||||
proc load*(self: View) =
|
proc load*(self: View) =
|
||||||
|
@ -802,17 +802,26 @@ QtObject:
|
||||||
read = getCheckingPermissionsInProgress
|
read = getCheckingPermissionsInProgress
|
||||||
notify = checkingPermissionsInProgressChanged
|
notify = checkingPermissionsInProgressChanged
|
||||||
|
|
||||||
|
proc getCheckingPermissionToJoinInProgress*(self: View): bool {.slot.} =
|
||||||
|
self.delegate.getCheckingPermissionToJoinInProgress
|
||||||
|
|
||||||
|
proc checkingPermissionToJoinInProgressChanged*(self: View) {.signal.}
|
||||||
|
|
||||||
|
QtProperty[bool] checkingPermissionToJoinInProgress:
|
||||||
|
read = getCheckingPermissionToJoinInProgress
|
||||||
|
notify = checkingPermissionToJoinInProgressChanged
|
||||||
|
|
||||||
proc joinPermissionsCheckSuccessfulChanged*(self: View) {.signal.}
|
proc joinPermissionsCheckSuccessfulChanged*(self: View) {.signal.}
|
||||||
|
|
||||||
proc setJoinPermissionsCheckSuccessful*(self: View, successful: bool) =
|
proc setJoinPermissionsCheckSuccessful*(self: View, successful: bool) =
|
||||||
if (self.joinPermissionsCheckSuccessful == successful): return
|
if (self.joinPermissionsCheckCompletedWithoutErrors == successful): return
|
||||||
self.joinPermissionsCheckSuccessful = successful
|
self.joinPermissionsCheckCompletedWithoutErrors = successful
|
||||||
self.joinPermissionsCheckSuccessfulChanged()
|
self.joinPermissionsCheckSuccessfulChanged()
|
||||||
|
|
||||||
proc getJoinPermissionsCheckSuccessful*(self: View): bool {.slot.} =
|
proc getJoinPermissionsCheckSuccessful*(self: View): bool {.slot.} =
|
||||||
return self.joinPermissionsCheckSuccessful
|
return self.joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
QtProperty[bool] joinPermissionsCheckSuccessful:
|
QtProperty[bool] joinPermissionsCheckCompletedWithoutErrors:
|
||||||
read = getJoinPermissionsCheckSuccessful
|
read = getJoinPermissionsCheckSuccessful
|
||||||
notify = joinPermissionsCheckSuccessfulChanged
|
notify = joinPermissionsCheckSuccessfulChanged
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import QtQuick 2.14
|
import QtQuick 2.15
|
||||||
import QtQuick.Controls 2.14
|
import QtQuick.Controls 2.15
|
||||||
import QtQuick.Layouts 1.14
|
import QtQuick.Layouts 1.15
|
||||||
|
import QtQml 2.15
|
||||||
|
|
||||||
import Storybook 1.0
|
import Storybook 1.0
|
||||||
import Models 1.0
|
import Models 1.0
|
||||||
|
@ -38,7 +39,7 @@ SplitView {
|
||||||
closePolicy: Popup.NoAutoClose
|
closePolicy: Popup.NoAutoClose
|
||||||
|
|
||||||
isEditMode: ctrlIsEditMode.checked
|
isEditMode: ctrlIsEditMode.checked
|
||||||
communityId: "community_id"
|
communityId: "ddls"
|
||||||
communityName: ctrlCommunityName.text
|
communityName: ctrlCommunityName.text
|
||||||
communityIcon: {
|
communityIcon: {
|
||||||
if (ctrlIconStatus.checked)
|
if (ctrlIconStatus.checked)
|
||||||
|
@ -55,7 +56,8 @@ SplitView {
|
||||||
|
|
||||||
isInvitationPending: ctrlIsInvitationPending.checked
|
isInvitationPending: ctrlIsInvitationPending.checked
|
||||||
requirementsCheckPending: ctrlRequirementsCheckPending.checked
|
requirementsCheckPending: ctrlRequirementsCheckPending.checked
|
||||||
joinPermissionsCheckSuccessful: ctrlJoinPermissionsCheckSuccessful.checked
|
checkingPermissionToJoinInProgress: ctrlCheckingPermissionToJoinInProgress.checked
|
||||||
|
joinPermissionsCheckCompletedWithoutErrors: ctrlJoinPermissionsCheckCompletedWithoutErrors.checked
|
||||||
|
|
||||||
walletAccountsModel: WalletAccountsModel {}
|
walletAccountsModel: WalletAccountsModel {}
|
||||||
walletAssetsModel: root.walletAssetStore.groupedAccountAssetsModel
|
walletAssetsModel: root.walletAssetStore.groupedAccountAssetsModel
|
||||||
|
@ -220,10 +222,24 @@ Nemo enim 😋 ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckBox {
|
CheckBox {
|
||||||
Layout.leftMargin: 12
|
Layout.leftMargin: 20
|
||||||
id: ctrlJoinPermissionsCheckSuccessful
|
id: ctrlCheckingPermissionToJoinInProgress
|
||||||
|
enabled: !ctrlRequirementsCheckPending.checked
|
||||||
visible: !ctrlIsInvitationPending.checked
|
visible: !ctrlIsInvitationPending.checked
|
||||||
text: "Join permission successful"
|
text: "Checking perms to join"
|
||||||
|
|
||||||
|
Binding on checked {
|
||||||
|
when: ctrlRequirementsCheckPending.checked
|
||||||
|
value: true
|
||||||
|
restoreMode: Binding.RestoreValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
Layout.leftMargin: 12
|
||||||
|
id: ctrlJoinPermissionsCheckCompletedWithoutErrors
|
||||||
|
visible: !ctrlIsInvitationPending.checked
|
||||||
|
text: "Join perm. check completed w/o errors"
|
||||||
checked: true
|
checked: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,9 @@ Control {
|
||||||
required property bool allAddressesToRevealBelongToSingleNonProfileKeypair
|
required property bool allAddressesToRevealBelongToSingleNonProfileKeypair
|
||||||
required property int /*PermissionTypes.Type*/ eligibleToJoinAs
|
required property int /*PermissionTypes.Type*/ eligibleToJoinAs
|
||||||
|
|
||||||
property bool requirementsCheckPending: false
|
property bool requirementsCheckPending
|
||||||
property bool joinPermissionsCheckSuccessful
|
property bool checkingPermissionToJoinInProgress
|
||||||
|
property bool joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
required property string communityId
|
required property string communityId
|
||||||
required property string communityName
|
required property string communityName
|
||||||
|
@ -103,18 +104,18 @@ Control {
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly property string tooltipText: {
|
readonly property string tooltipText: {
|
||||||
if (root.requirementsCheckPending)
|
if (root.requirementsCheckPending || root.checkingPermissionToJoinInProgress)
|
||||||
return qsTr("Requirements check pending")
|
return qsTr("Requirements check pending")
|
||||||
|
|
||||||
if (!root.joinPermissionsCheckSuccessful)
|
if (!root.joinPermissionsCheckCompletedWithoutErrors)
|
||||||
return qsTr("Checking permissions to join failed")
|
return qsTr("Checking permissions failed")
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly property var saveButton: StatusButton {
|
readonly property var saveButton: StatusButton {
|
||||||
visible: root.isEditMode
|
visible: root.isEditMode
|
||||||
interactive: d.dirty && !root.requirementsCheckPending && root.joinPermissionsCheckSuccessful
|
interactive: d.dirty && !root.requirementsCheckPending && root.joinPermissionsCheckCompletedWithoutErrors
|
||||||
loading: root.requirementsCheckPending
|
loading: root.requirementsCheckPending
|
||||||
type: d.lostCommunityPermission || d.lostChannelPermissions ? StatusBaseButton.Type.Danger : StatusBaseButton.Type.Normal
|
type: d.lostCommunityPermission || d.lostChannelPermissions ? StatusBaseButton.Type.Danger : StatusBaseButton.Type.Normal
|
||||||
tooltip.text: {
|
tooltip.text: {
|
||||||
|
@ -164,8 +165,8 @@ Control {
|
||||||
|
|
||||||
readonly property var shareAddressesButton: StatusButton {
|
readonly property var shareAddressesButton: StatusButton {
|
||||||
visible: !root.isEditMode
|
visible: !root.isEditMode
|
||||||
interactive: root.eligibleToJoinAs !== PermissionTypes.Type.None && root.joinPermissionsCheckSuccessful
|
interactive: !root.checkingPermissionToJoinInProgress && root.eligibleToJoinAs !== PermissionTypes.Type.None && root.joinPermissionsCheckCompletedWithoutErrors
|
||||||
loading: root.requirementsCheckPending
|
loading: root.checkingPermissionToJoinInProgress
|
||||||
tooltip.text: {
|
tooltip.text: {
|
||||||
if (interactive)
|
if (interactive)
|
||||||
return ""
|
return ""
|
||||||
|
@ -331,7 +332,8 @@ Control {
|
||||||
assetsModel: root.assetsModel
|
assetsModel: root.assetsModel
|
||||||
collectiblesModel: root.collectiblesModel
|
collectiblesModel: root.collectiblesModel
|
||||||
requirementsCheckPending: root.requirementsCheckPending
|
requirementsCheckPending: root.requirementsCheckPending
|
||||||
joinPermissionsCheckSuccessful: root.joinPermissionsCheckSuccessful
|
checkingPermissionToJoinInProgress: root.checkingPermissionToJoinInProgress
|
||||||
|
joinPermissionsCheckCompletedWithoutErrors: root.joinPermissionsCheckCompletedWithoutErrors
|
||||||
communityName: root.communityName
|
communityName: root.communityName
|
||||||
communityIcon: root.communityIcon
|
communityIcon: root.communityIcon
|
||||||
eligibleToJoinAs: root.eligibleToJoinAs
|
eligibleToJoinAs: root.eligibleToJoinAs
|
||||||
|
|
|
@ -32,7 +32,8 @@ Rectangle {
|
||||||
property var collectiblesModel
|
property var collectiblesModel
|
||||||
|
|
||||||
property bool requirementsCheckPending
|
property bool requirementsCheckPending
|
||||||
property bool joinPermissionsCheckSuccessful
|
property bool checkingPermissionToJoinInProgress
|
||||||
|
property bool joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
readonly property bool lostPermissionToJoin: d.lostPermissionToJoin
|
readonly property bool lostPermissionToJoin: d.lostPermissionToJoin
|
||||||
readonly property bool lostChannelPermissions: d.lostChannelPermissions
|
readonly property bool lostChannelPermissions: d.lostChannelPermissions
|
||||||
|
@ -257,7 +258,7 @@ Rectangle {
|
||||||
|
|
||||||
CommunityEligibilityTag {
|
CommunityEligibilityTag {
|
||||||
id: eligibilityHintBubble
|
id: eligibilityHintBubble
|
||||||
visible: !root.requirementsCheckPending && root.joinPermissionsCheckSuccessful
|
visible: !root.checkingPermissionToJoinInProgress && root.joinPermissionsCheckCompletedWithoutErrors
|
||||||
eligibleToJoinAs: root.eligibleToJoinAs
|
eligibleToJoinAs: root.eligibleToJoinAs
|
||||||
isEditMode: root.isEditMode
|
isEditMode: root.isEditMode
|
||||||
isDirty: root.isDirty
|
isDirty: root.isDirty
|
||||||
|
|
|
@ -18,7 +18,8 @@ QtObject {
|
||||||
property var communitiesModuleInst: communitiesModule
|
property var communitiesModuleInst: communitiesModule
|
||||||
property bool newVersionAvailable: false
|
property bool newVersionAvailable: false
|
||||||
readonly property bool requirementsCheckPending: communitiesModuleInst.requirementsCheckPending
|
readonly property bool requirementsCheckPending: communitiesModuleInst.requirementsCheckPending
|
||||||
readonly property bool joinPermissionsCheckSuccessful: communitiesModuleInst.joinPermissionsCheckSuccessful
|
readonly property bool checkingPermissionToJoinInProgress: communitiesModuleInst.checkingPermissionToJoinInProgress
|
||||||
|
readonly property bool joinPermissionsCheckCompletedWithoutErrors: communitiesModuleInst.joinPermissionsCheckCompletedWithoutErrors
|
||||||
readonly property bool channelsPermissionsCheckSuccessful: communitiesModuleInst.channelsPermissionsCheckSuccessful
|
readonly property bool channelsPermissionsCheckSuccessful: communitiesModuleInst.channelsPermissionsCheckSuccessful
|
||||||
property string latestVersion
|
property string latestVersion
|
||||||
property string downloadURL
|
property string downloadURL
|
||||||
|
|
|
@ -718,7 +718,8 @@ QtObject {
|
||||||
id: dialogRoot
|
id: dialogRoot
|
||||||
|
|
||||||
requirementsCheckPending: root.rootStore.requirementsCheckPending
|
requirementsCheckPending: root.rootStore.requirementsCheckPending
|
||||||
joinPermissionsCheckSuccessful: root.rootStore.joinPermissionsCheckSuccessful
|
checkingPermissionToJoinInProgress: root.rootStore.checkingPermissionToJoinInProgress
|
||||||
|
joinPermissionsCheckCompletedWithoutErrors: root.rootStore.joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
walletAccountsModel: root.rootStore.walletAccountsModel
|
walletAccountsModel: root.rootStore.walletAccountsModel
|
||||||
walletCollectiblesModel: WalletStore.RootStore.collectiblesStore.allCollectiblesModel
|
walletCollectiblesModel: WalletStore.RootStore.collectiblesStore.allCollectiblesModel
|
||||||
|
@ -968,7 +969,8 @@ QtObject {
|
||||||
communityIcon: chatStore.sectionDetails.image
|
communityIcon: chatStore.sectionDetails.image
|
||||||
|
|
||||||
requirementsCheckPending: root.rootStore.requirementsCheckPending
|
requirementsCheckPending: root.rootStore.requirementsCheckPending
|
||||||
joinPermissionsCheckSuccessful: root.rootStore.joinPermissionsCheckSuccessful
|
checkingPermissionToJoinInProgress: root.rootStore.checkingPermissionToJoinInProgress
|
||||||
|
joinPermissionsCheckCompletedWithoutErrors: root.rootStore.joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
introMessage: chatStore.sectionDetails.introMessage
|
introMessage: chatStore.sectionDetails.introMessage
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,8 @@ StatusStackModal {
|
||||||
required property string communityIcon
|
required property string communityIcon
|
||||||
required property bool requirementsCheckPending
|
required property bool requirementsCheckPending
|
||||||
|
|
||||||
property bool joinPermissionsCheckSuccessful
|
property bool checkingPermissionToJoinInProgress
|
||||||
|
property bool joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
property string introMessage
|
property string introMessage
|
||||||
|
|
||||||
|
@ -87,26 +88,23 @@ StatusStackModal {
|
||||||
|
|
||||||
finishButton: StatusButton {
|
finishButton: StatusButton {
|
||||||
interactive: {
|
interactive: {
|
||||||
if (root.isInvitationPending)
|
if (root.isInvitationPending || d.accessType !== Constants.communityChatOnRequestAccess)
|
||||||
return true
|
return true
|
||||||
|
|
||||||
if (root.requirementsCheckPending || !root.joinPermissionsCheckSuccessful)
|
if (root.checkingPermissionToJoinInProgress || !root.joinPermissionsCheckCompletedWithoutErrors)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if (d.accessType !== Constants.communityChatOnRequestAccess)
|
|
||||||
return true
|
|
||||||
|
|
||||||
return d.eligibleToJoinAs !== PermissionTypes.Type.None
|
return d.eligibleToJoinAs !== PermissionTypes.Type.None
|
||||||
}
|
}
|
||||||
loading: root.requirementsCheckPending && !root.isInvitationPending
|
loading: root.checkingPermissionToJoinInProgress && !root.isInvitationPending
|
||||||
tooltip.text: {
|
tooltip.text: {
|
||||||
if (interactive)
|
if (interactive)
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
if (root.requirementsCheckPending)
|
if (root.checkingPermissionToJoinInProgress)
|
||||||
return qsTr("Requirements check pending")
|
return qsTr("Requirements check pending")
|
||||||
|
|
||||||
if (!root.joinPermissionsCheckSuccessful)
|
if (!root.joinPermissionsCheckCompletedWithoutErrors)
|
||||||
return qsTr("Checking permissions to join failed")
|
return qsTr("Checking permissions to join failed")
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
|
@ -199,6 +197,7 @@ StatusStackModal {
|
||||||
property int eligibleToJoinAs: PermissionsHelpers.isEligibleToJoinAs(root.permissionsModel)
|
property int eligibleToJoinAs: PermissionsHelpers.isEligibleToJoinAs(root.permissionsModel)
|
||||||
readonly property var _con: Connections {
|
readonly property var _con: Connections {
|
||||||
target: root.permissionsModel
|
target: root.permissionsModel
|
||||||
|
ignoreUnknownSignals: true
|
||||||
function onTokenCriteriaUpdated() {
|
function onTokenCriteriaUpdated() {
|
||||||
d.eligibleToJoinAs = PermissionsHelpers.isEligibleToJoinAs(root.permissionsModel)
|
d.eligibleToJoinAs = PermissionsHelpers.isEligibleToJoinAs(root.permissionsModel)
|
||||||
}
|
}
|
||||||
|
@ -362,7 +361,8 @@ StatusStackModal {
|
||||||
communityName: root.communityName
|
communityName: root.communityName
|
||||||
communityIcon: root.communityIcon
|
communityIcon: root.communityIcon
|
||||||
requirementsCheckPending: root.requirementsCheckPending
|
requirementsCheckPending: root.requirementsCheckPending
|
||||||
joinPermissionsCheckSuccessful: root.joinPermissionsCheckSuccessful
|
checkingPermissionToJoinInProgress: root.checkingPermissionToJoinInProgress
|
||||||
|
joinPermissionsCheckCompletedWithoutErrors: root.joinPermissionsCheckCompletedWithoutErrors
|
||||||
|
|
||||||
walletAccountsModel: d.initialAddressesModel
|
walletAccountsModel: d.initialAddressesModel
|
||||||
|
|
||||||
|
@ -454,7 +454,7 @@ StatusStackModal {
|
||||||
StatusRoundedImage {
|
StatusRoundedImage {
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
Layout.preferredWidth: 64
|
Layout.preferredWidth: 64
|
||||||
Layout.preferredHeight: Layout.preferredWidth
|
Layout.preferredHeight: width
|
||||||
visible: ((image.status == Image.Loading) ||
|
visible: ((image.status == Image.Loading) ||
|
||||||
(image.status == Image.Ready)) &&
|
(image.status == Image.Ready)) &&
|
||||||
!image.isError
|
!image.isError
|
||||||
|
@ -477,7 +477,7 @@ StatusStackModal {
|
||||||
anchors.bottomMargin: Style.current.bigPadding
|
anchors.bottomMargin: Style.current.bigPadding
|
||||||
eligibleToJoinAs: d.eligibleToJoinAs
|
eligibleToJoinAs: d.eligibleToJoinAs
|
||||||
isEditMode: root.isEditMode
|
isEditMode: root.isEditMode
|
||||||
visible: !root.isInvitationPending && !root.requirementsCheckPending && root.joinPermissionsCheckSuccessful &&
|
visible: !root.isInvitationPending && !root.checkingPermissionToJoinInProgress && root.joinPermissionsCheckCompletedWithoutErrors &&
|
||||||
d.accessType === Constants.communityChatOnRequestAccess
|
d.accessType === Constants.communityChatOnRequestAccess
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue