From 691fa9b7443b69fe17f656d367f7a80d312874f8 Mon Sep 17 00:00:00 2001 From: mahula Date: Mon, 13 Mar 2023 13:52:47 +0100 Subject: [PATCH 1/8] add key pendingMember to locales --- webapp/locales/de.json | 3 ++- webapp/locales/en.json | 3 ++- webapp/locales/es.json | 3 ++- webapp/locales/fr.json | 3 ++- webapp/locales/it.json | 3 ++- webapp/locales/nl.json | 3 ++- webapp/locales/pl.json | 3 ++- webapp/locales/pt.json | 3 ++- webapp/locales/ru.json | 3 ++- 9 files changed, 18 insertions(+), 9 deletions(-) diff --git a/webapp/locales/de.json b/webapp/locales/de.json index f4ad97d01..5ba26f30c 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -447,7 +447,8 @@ "in": "in", "joinLeaveButton": { "iAmMember": "Bin Mitglied", - "join": "Beitreten" + "join": "Beitreten", + "pendingMember": "Ausstehendes Mitglied" }, "labelSlug": "Eindeutiger Gruppenname", "leaveModal": { diff --git a/webapp/locales/en.json b/webapp/locales/en.json index d44625b7f..a45be7837 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -447,7 +447,8 @@ "in": "in", "joinLeaveButton": { "iAmMember": "I'm a member", - "join": "Join" + "join": "Join", + "pendingMember": "Pending member" }, "labelSlug": "Unique group name", "leaveModal": { diff --git a/webapp/locales/es.json b/webapp/locales/es.json index a9668c9cf..a313b3dc4 100644 --- a/webapp/locales/es.json +++ b/webapp/locales/es.json @@ -302,7 +302,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/fr.json b/webapp/locales/fr.json index 9149c1493..511ca4568 100644 --- a/webapp/locales/fr.json +++ b/webapp/locales/fr.json @@ -291,7 +291,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/it.json b/webapp/locales/it.json index 3fc2f7e6b..548278fc9 100644 --- a/webapp/locales/it.json +++ b/webapp/locales/it.json @@ -299,7 +299,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/nl.json b/webapp/locales/nl.json index 66f296eb0..27fbc8865 100644 --- a/webapp/locales/nl.json +++ b/webapp/locales/nl.json @@ -87,7 +87,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/pl.json b/webapp/locales/pl.json index 41120dd26..3b7d1200a 100644 --- a/webapp/locales/pl.json +++ b/webapp/locales/pl.json @@ -171,7 +171,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/pt.json b/webapp/locales/pt.json index 9cde701d2..121fc903d 100644 --- a/webapp/locales/pt.json +++ b/webapp/locales/pt.json @@ -337,7 +337,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null diff --git a/webapp/locales/ru.json b/webapp/locales/ru.json index 292f83831..4ae664cd8 100644 --- a/webapp/locales/ru.json +++ b/webapp/locales/ru.json @@ -316,7 +316,8 @@ "goal": null, "joinLeaveButton": { "iAmMember": null, - "join": null + "join": null, + "pendingMember": null }, "membersCount": null, "membersListTitle": null From 6eccde6cbee099ff6792d0bc2480c00ffa7f4ed0 Mon Sep 17 00:00:00 2001 From: mahula Date: Mon, 13 Mar 2023 13:55:08 +0100 Subject: [PATCH 2/8] change locales key roles.usual --- webapp/locales/de.json | 2 +- webapp/locales/en.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/locales/de.json b/webapp/locales/de.json index 5ba26f30c..f341f405c 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -483,7 +483,7 @@ "admin": "Administrator", "owner": "Inhaber", "pending": "Ausstehendes Mitglied", - "usual": "Einfaches Mitglied" + "usual": "Mitglied" }, "save": "Neue Gruppe anlegen", "type": "Öffentlichkeit der Gruppe", diff --git a/webapp/locales/en.json b/webapp/locales/en.json index a45be7837..e8c50fc23 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -483,7 +483,7 @@ "admin": "Administrator", "owner": "Owner", "pending": "Pending Member", - "usual": "Simple Member" + "usual": "Member" }, "save": "Create new group", "type": "Visibility of the group", From f38cf8428829843495c85dbdecb24d223618d37f Mon Sep 17 00:00:00 2001 From: mahula Date: Mon, 13 Mar 2023 17:02:37 +0100 Subject: [PATCH 3/8] 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" From fe422f5c777ad9f1c78cf1d5bdc2f5b650ee26f2 Mon Sep 17 00:00:00 2001 From: mahula Date: Wed, 15 Mar 2023 11:39:03 +0100 Subject: [PATCH 4/8] add leave and tooltip key tolocales --- webapp/locales/de.json | 4 +++- webapp/locales/en.json | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/webapp/locales/de.json b/webapp/locales/de.json index f341f405c..b2d802bc1 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -448,7 +448,9 @@ "joinLeaveButton": { "iAmMember": "Bin Mitglied", "join": "Beitreten", - "pendingMember": "Ausstehendes Mitglied" + "leave": "Verlassen", + "pendingMember": "Ausstehendes Mitglied", + "tooltip": "Der Inhaber muss dich noch bestätigen." }, "labelSlug": "Eindeutiger Gruppenname", "leaveModal": { diff --git a/webapp/locales/en.json b/webapp/locales/en.json index e8c50fc23..a718abdd7 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -448,7 +448,9 @@ "joinLeaveButton": { "iAmMember": "I'm a member", "join": "Join", - "pendingMember": "Pending member" + "leave": "Leave", + "pendingMember": "Pending member", + "tooltip": "The owner has yet to confirm you." }, "labelSlug": "Unique group name", "leaveModal": { From 5d5100f08cb816efaf72a0225ca28fba62f1d0e3 Mon Sep 17 00:00:00 2001 From: mahula Date: Wed, 15 Mar 2023 11:43:14 +0100 Subject: [PATCH 5/8] change join leave button behavior for pending user --- webapp/components/Button/JoinLeaveButton.vue | 28 ++++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/webapp/components/Button/JoinLeaveButton.vue b/webapp/components/Button/JoinLeaveButton.vue index 57337b4ac..cd91a029e 100644 --- a/webapp/components/Button/JoinLeaveButton.vue +++ b/webapp/components/Button/JoinLeaveButton.vue @@ -6,6 +6,7 @@ :icon="icon" :filled="isMember && !hovered" :danger="isMember && hovered" + v-tooltip="tooltip" @mouseenter.native="onHover" @mouseleave.native="hovered = false" @click.prevent="toggle" @@ -37,27 +38,32 @@ export default { computed: { icon() { if (this.isMember) { - if (this.hovered) { - return 'close' - } else if (this.isNonePendingMember) { - return 'check' + if (this.isNonePendingMember) { + return this.hovered ? 'close' : 'check' } else { - return 'question-circle' + return this.hovered ? 'close' : 'question-circle' } - } else { - return 'plus' } + return 'plus' }, label() { if (this.isMember) { if (this.isNonePendingMember) { - return this.$t('group.joinLeaveButton.iAmMember') + return this.hovered ? this.$t('group.joinLeaveButton.leave') : this.$t('group.joinLeaveButton.iAmMember') + } else { + return this.$t('group.joinLeaveButton.pendingMember') } - return this.$t('group.joinLeaveButton.pendingMember') - } else { - return this.$t('group.joinLeaveButton.join') } + return this.$t('group.joinLeaveButton.join') }, + tooltip() { + return { + content: this.$t('group.joinLeaveButton.tooltip'), + placement: 'right', + show: this.isMember && !this.isNonePendingMember && this.hovered, + trigger: this.isMember && !this.isNonePendingMember ? 'hover' : 'manual' + } + } }, watch: { isMember() { From 40a80fa93a703fcd9115f8c3c92aeee9555fe2d8 Mon Sep 17 00:00:00 2001 From: mahula Date: Wed, 15 Mar 2023 12:45:54 +0100 Subject: [PATCH 6/8] update webapp/locales/de.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Wolfgang Huß --- webapp/locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/locales/de.json b/webapp/locales/de.json index b2d802bc1..c63e1790c 100644 --- a/webapp/locales/de.json +++ b/webapp/locales/de.json @@ -450,7 +450,7 @@ "join": "Beitreten", "leave": "Verlassen", "pendingMember": "Ausstehendes Mitglied", - "tooltip": "Der Inhaber muss dich noch bestätigen." + "tooltip": "Der Gruppeninhaber muss dich noch bestätigen." }, "labelSlug": "Eindeutiger Gruppenname", "leaveModal": { From 6a66c99a7dffd5d447c9ff1ada904045ca969fb9 Mon Sep 17 00:00:00 2001 From: mahula Date: Wed, 15 Mar 2023 12:46:10 +0100 Subject: [PATCH 7/8] update webapp/locales/en.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Wolfgang Huß --- webapp/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/locales/en.json b/webapp/locales/en.json index a718abdd7..e00075919 100644 --- a/webapp/locales/en.json +++ b/webapp/locales/en.json @@ -450,7 +450,7 @@ "join": "Join", "leave": "Leave", "pendingMember": "Pending member", - "tooltip": "The owner has yet to confirm you." + "tooltip": "The group owner has yet to confirm you." }, "labelSlug": "Unique group name", "leaveModal": { From 945f076d6d728edb019f56e8eddb17b39d255db6 Mon Sep 17 00:00:00 2001 From: mahula Date: Thu, 16 Mar 2023 08:37:12 +0100 Subject: [PATCH 8/8] linting --- webapp/components/Button/JoinLeaveButton.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/webapp/components/Button/JoinLeaveButton.vue b/webapp/components/Button/JoinLeaveButton.vue index cd91a029e..152039eb0 100644 --- a/webapp/components/Button/JoinLeaveButton.vue +++ b/webapp/components/Button/JoinLeaveButton.vue @@ -49,7 +49,9 @@ export default { label() { if (this.isMember) { if (this.isNonePendingMember) { - return this.hovered ? this.$t('group.joinLeaveButton.leave') : this.$t('group.joinLeaveButton.iAmMember') + return this.hovered + ? this.$t('group.joinLeaveButton.leave') + : this.$t('group.joinLeaveButton.iAmMember') } else { return this.$t('group.joinLeaveButton.pendingMember') } @@ -61,9 +63,9 @@ export default { content: this.$t('group.joinLeaveButton.tooltip'), placement: 'right', show: this.isMember && !this.isNonePendingMember && this.hovered, - trigger: this.isMember && !this.isNonePendingMember ? 'hover' : 'manual' + trigger: this.isMember && !this.isNonePendingMember ? 'hover' : 'manual', } - } + }, }, watch: { isMember() {