diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index 1a21a6da0..54ed1be17 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -535,6 +535,7 @@ "Group address": "Group address", "Group description body": "Group description body", "Group display name": "Group display name", + "Group invitation links":"Group invitation links", "Group invitations": "Group invitations", "Group members": "Group members", "Group name": "Group name", @@ -706,6 +707,7 @@ "Map": "Map", "Mark as resolved": "Mark as resolved", "Maybe the content was removed by the author or a moderator": "Maybe the content was removed by the author or a moderator", + "Member invitation":"Member invitation", "Member": "Member", "Members": "Members", "Members can see events' participants": "Members can see events' participants", diff --git a/src/i18n/fr_FR.json b/src/i18n/fr_FR.json index 7ea52d13c..abc888ef2 100644 --- a/src/i18n/fr_FR.json +++ b/src/i18n/fr_FR.json @@ -535,6 +535,7 @@ "Group address": "Adresse du groupe", "Group description body": "Corps de la description du groupe", "Group display name": "Nom d'affichage du groupe", + "Group invitation links":"Liens d'invitation au groupe", "Group invitations":"Invitations de groupe", "Group members": "Membres du groupe", "Group name": "Nom du groupe", @@ -706,6 +707,7 @@ "Map": "Carte", "Mark as resolved": "Marquer comme r\u00e9solu", "Maybe the content was removed by the author or a moderator": "Peut-\u00eatre que le contenu a \u00e9t\u00e9 supprim\u00e9 par l'auteur\u00b7ice ou un\u00b7e mod\u00e9rateur\u00b7ice", + "Member invitation":"Inviter un membre", "Member": "Membre", "Members": "Membres", "Members can see events' participants": "Les membres peuvent voir les participants des événements", @@ -1096,7 +1098,7 @@ "Settings": "Param\u00e8tres", "Share link":"Partager le lien", "Share this event": "Partager l'\u00e9v\u00e9nement", - "Share this group invitation link":"Partager ce lien d'invitation de groupe", + "Share this group invitation link":"Partager ce lien d'invitation au groupe", "Share this group": "Partager ce groupe", "Share this post": "Partager ce billet", "Share": "Partager", diff --git a/src/views/Group/GroupInvitations.vue b/src/views/Group/GroupInvitations.vue index 34dad2cf3..9dc2a29cb 100644 --- a/src/views/Group/GroupInvitations.vue +++ b/src/views/Group/GroupInvitations.vue @@ -28,7 +28,30 @@ ]" />
-

{{ t("Invitation links") }}

+

{{ t("Invitations") }}

+ +

{{ t("Member invitation") }}

+
+ + + + {{ + t("Invite member") + }} + + +
+ +

{{ t("Group invitation links") }}

(INVITE_MEMBER, () => ({})); + +onInviteMemberError((error) => { + console.error(error); + if (error.graphQLErrors && error.graphQLErrors.length > 0) { + alert(error.graphQLErrors[0].message); + } +}); + +onInviteMemberDone(() => { + alert( + t("{username} was invited to {group}", { + username: newMemberUsername.value, + group: displayName(group.value), + }) + ); +}); + +const inviteMember = async (): Promise => { + inviteMemberMutation({ + groupId: group.value?.id, + targetActorUsername: newMemberUsername.value, + }); +}; + +// ------------------------------------------------------------- +// List invitation links // ------------------------------------------------------------- const { @@ -212,7 +272,7 @@ watch(currentActor, () => { }); // ------------------------------------------------------------- -// Create invitation +// Create invitation links // ------------------------------------------------------------- const { @@ -232,7 +292,7 @@ onCreateGroupInvitationError((error) => { }); // ------------------------------------------------------------- -// Update invitation +// Update invitation links // ------------------------------------------------------------- const updateInvitationToken = ref(""); @@ -274,7 +334,7 @@ const actionUpdateGroupInvitation = () => { }; // ------------------------------------------------------------- -// Delete invitation +// Delete invitation links // ------------------------------------------------------------- const { @@ -301,7 +361,7 @@ const actionDeleteGroupInvitation = (token: string) => { }; // ------------------------------------------------------------- -// Share invitation +// Share invitation links // ------------------------------------------------------------- const router = useRouter(); diff --git a/src/views/Group/GroupMembers.vue b/src/views/Group/GroupMembers.vue index f519ac5ca..920fae59a 100644 --- a/src/views/Group/GroupMembers.vue +++ b/src/views/Group/GroupMembers.vue @@ -26,35 +26,6 @@ v-if="group && isCurrentActorAGroupAdmin" >

{{ t("Group Members") }} ({{ group.members.total }})

-
- - -

- -

-

- {{ - t("Invite member") - }} -

-
-
-
group.value?.members ?? { total: 0, elements: [] } ); -const { - mutate: inviteMemberMutation, - onDone: onInviteMemberDone, - onError: onInviteMemberError, -} = useMutation<{ inviteMember: IMember }>(INVITE_MEMBER, () => ({ - refetchQueries: [ - { - query: GROUP_MEMBERS, - variables: { - groupName: props.preferredUsername, - page: page.value, - limit: MEMBERS_PER_PAGE, - roles: roles.value, - }, - }, - ], -})); - -onInviteMemberError((error) => { - console.error(error); - if (error.graphQLErrors && error.graphQLErrors.length > 0) { - inviteError.value = error.graphQLErrors[0].message; - } -}); - -onInviteMemberDone(() => { - notifier?.success( - t("{username} was invited to {group}", { - username: newMemberUsername.value, - group: displayName(group.value), - }) - ); - newMemberUsername.value = ""; -}); - -const inviteMember = async (): Promise => { - inviteError.value = ""; - inviteMemberMutation({ - groupId: group.value?.id, - targetActorUsername: newMemberUsername.value, - }); -}; - const loadMoreMembers = async (): Promise => { await fetchMoreGroupMembers({ // New variables