From f38cf8428829843495c85dbdecb24d223618d37f Mon Sep 17 00:00:00 2001 From: mahula Date: Mon, 13 Mar 2023 17:02:37 +0100 Subject: [PATCH] add mode forpending user to join leave button --- webapp/components/Button/JoinLeaveButton.vue | 18 ++++++++++++++---- webapp/pages/group/_id/_slug.vue | 1 + 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/webapp/components/Button/JoinLeaveButton.vue b/webapp/components/Button/JoinLeaveButton.vue index 9bcb5042a..57337b4ac 100644 --- a/webapp/components/Button/JoinLeaveButton.vue +++ b/webapp/components/Button/JoinLeaveButton.vue @@ -24,6 +24,7 @@ export default { group: { type: Object, required: true }, userId: { type: String, required: true }, isMember: { type: Boolean, required: true }, + isNonePendingMember: { type: Boolean, required: true }, disabled: { type: Boolean, default: false }, loading: { type: Boolean, default: false }, }, @@ -35,15 +36,24 @@ export default { }, computed: { icon() { - if (this.isMember && this.hovered) { - return 'close' + if (this.isMember) { + if (this.hovered) { + return 'close' + } else if (this.isNonePendingMember) { + return 'check' + } else { + return 'question-circle' + } } else { - return this.isMember ? 'check' : 'plus' + return 'plus' } }, label() { if (this.isMember) { - return this.$t('group.joinLeaveButton.iAmMember') + if (this.isNonePendingMember) { + return this.$t('group.joinLeaveButton.iAmMember') + } + return this.$t('group.joinLeaveButton.pendingMember') } else { return this.$t('group.joinLeaveButton.join') } diff --git a/webapp/pages/group/_id/_slug.vue b/webapp/pages/group/_id/_slug.vue index 641b8802e..1eda842d3 100644 --- a/webapp/pages/group/_id/_slug.vue +++ b/webapp/pages/group/_id/_slug.vue @@ -102,6 +102,7 @@ :group="group || {}" :userId="currentUser.id" :isMember="isGroupMember" + :isNonePendingMember="isGroupMemberNonePending" :disabled="isGroupOwner" :loading="$apollo.loading" @prepare="prepareJoinLeave"