diff --git a/src/components/LeftSidebar/InvitationHandler.vue b/src/components/LeftSidebar/InvitationHandler.vue index 812bfdc56c3..2998c221e72 100644 --- a/src/components/LeftSidebar/InvitationHandler.vue +++ b/src/components/LeftSidebar/InvitationHandler.vue @@ -49,19 +49,19 @@ <NcButton type="tertiary" aria-label="t('spreed', 'Decline invitation')" title="t('spreed', 'Decline invitation')" - :disabled="item.loading" + :disabled="isLoading" @click="rejectShare(item.id)"> <template #icon> - <NcLoadingIcon v-if="item.loading" :size="20" /> + <NcLoadingIcon v-if="isLoading" :size="20" /> <CancelIcon v-else :size="20" /> </template> </NcButton> <NcButton type="primary" aria-label="t('spreed', 'Accept invitation')" - :disabled="item.loading" + :disabled="isLoading" @click="acceptShare(item.id)"> <template #icon> - <NcLoadingIcon v-if="item.loading" :size="20" /> + <NcLoadingIcon v-if="isLoading" :size="20" /> <CheckIcon v-else :size="20" /> </template> {{ t('spreed', 'Accept') }} @@ -107,6 +107,7 @@ export default { data() { return { modal: false, + isLoading: false, } }, @@ -136,7 +137,9 @@ export default { }, async acceptShare(id) { + this.isLoading = true const conversation = await this.federationStore.acceptShare(id) + this.isLoading = false if (conversation?.token) { this.$store.dispatch('addConversation', conversation) this.$router.push({ name: 'conversation', params: { token: conversation.token } }) @@ -145,7 +148,9 @@ export default { }, async rejectShare(id) { + this.isLoading = true await this.federationStore.rejectShare(id) + this.isLoading = false if (this.invitations.length === 0) { this.closeModal() }