diff --git a/worklenz-frontend/public/locales/alb/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/alb/project-view/project-member-drawer.json index aa6637e1..2065c01a 100644 --- a/worklenz-frontend/public/locales/alb/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/alb/project-view/project-member-drawer.json @@ -3,5 +3,7 @@ "searchLabel": "Shtoni anëtarë duke shkruar emrin ose email-in e tyre", "searchPlaceholder": "Shkruani emrin ose email-in", "inviteAsAMember": "Fto si anëtar", - "inviteNewMemberByEmail": "Fto anëtar të ri me email" + "inviteNewMemberByEmail": "Fto anëtar të ri me email", + "members": "Anëtarë", + "copyProjectLink": "Kopjo lidhjen e projektit" } diff --git a/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json index cb391b2c..f47f89b3 100644 --- a/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/de/project-view/project-member-drawer.json @@ -3,5 +3,7 @@ "searchLabel": "Mitglieder hinzufügen durch Eingabe von Name oder E-Mail", "searchPlaceholder": "Name oder E-Mail eingeben", "inviteAsAMember": "Als Mitglied einladen", - "inviteNewMemberByEmail": "Neues Mitglied per E-Mail einladen" + "inviteNewMemberByEmail": "Neues Mitglied per E-Mail einladen", + "members": "Mitglieder", + "copyProjectLink": "Projektlink kopieren" } diff --git a/worklenz-frontend/public/locales/en/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/en/project-view/project-member-drawer.json index ad2d60c8..f267b242 100644 --- a/worklenz-frontend/public/locales/en/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/en/project-view/project-member-drawer.json @@ -1,7 +1,9 @@ { - "title": "Project Members", + "title": "Share Project", "searchLabel": "Add members by adding their name or email", "searchPlaceholder": "Type name or email", "inviteAsAMember": "Invite as a member", - "inviteNewMemberByEmail": "Invite new member by email" + "inviteNewMemberByEmail": "Invite new member by email", + "members": "Members", + "copyProjectLink": "Copy project link" } diff --git a/worklenz-frontend/public/locales/es/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/es/project-view/project-member-drawer.json index ab7570fd..80583339 100644 --- a/worklenz-frontend/public/locales/es/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/es/project-view/project-member-drawer.json @@ -3,5 +3,7 @@ "searchLabel": "Agregar miembros ingresando su nombre o correo electrónico", "searchPlaceholder": "Escriba nombre o correo electrónico", "inviteAsAMember": "Invitar como miembro", - "inviteNewMemberByEmail": "Invitar nuevo miembro por correo electrónico" + "inviteNewMemberByEmail": "Invitar nuevo miembro por correo electrónico", + "members": "Miembros", + "copyProjectLink": "Copiar enlace del proyecto" } diff --git a/worklenz-frontend/public/locales/pt/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/pt/project-view/project-member-drawer.json index 0afe3d87..73f63784 100644 --- a/worklenz-frontend/public/locales/pt/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/pt/project-view/project-member-drawer.json @@ -3,5 +3,7 @@ "searchLabel": "Adicionar membros inserindo nome ou e-mail", "searchPlaceholder": "Digite nome ou e-mail", "inviteAsAMember": "Convidar como membro", - "inviteNewMemberByEmail": "Convidar novo membro por e-mail" + "inviteNewMemberByEmail": "Convidar novo membro por e-mail", + "members": "Membros", + "copyProjectLink": "Copiar link do projeto" } diff --git a/worklenz-frontend/public/locales/zh/project-view/project-member-drawer.json b/worklenz-frontend/public/locales/zh/project-view/project-member-drawer.json index f412f22b..8d26a38f 100644 --- a/worklenz-frontend/public/locales/zh/project-view/project-member-drawer.json +++ b/worklenz-frontend/public/locales/zh/project-view/project-member-drawer.json @@ -3,5 +3,7 @@ "searchLabel": "通过添加名称或电子邮件添加成员", "searchPlaceholder": "输入名称或电子邮件", "inviteAsAMember": "邀请为成员", - "inviteNewMemberByEmail": "通过电子邮件邀请新成员" + "inviteNewMemberByEmail": "通过电子邮件邀请新成员", + "members": "成员", + "copyProjectLink": "复制项目链接" } \ No newline at end of file diff --git a/worklenz-frontend/src/components/projects/project-member-invite-drawer/project-member-invite-drawer.tsx b/worklenz-frontend/src/components/projects/project-member-invite-drawer/project-member-invite-drawer.tsx index 4d461de4..5fa655ec 100644 --- a/worklenz-frontend/src/components/projects/project-member-invite-drawer/project-member-invite-drawer.tsx +++ b/worklenz-frontend/src/components/projects/project-member-invite-drawer/project-member-invite-drawer.tsx @@ -1,4 +1,4 @@ -import { Drawer, Flex, Form, Select, Typography, List, Button } from 'antd/es'; +import { Drawer, Flex, Form, Select, Typography, List, Button, Modal, Divider } from 'antd/es'; import { useTranslation } from 'react-i18next'; import { useEffect, useState } from 'react'; @@ -13,6 +13,7 @@ import { } from '@/features/projects/singleProject/members/projectMembersSlice'; import SingleAvatar from '@/components/common/single-avatar/single-avatar'; import { DeleteOutlined, MailOutlined } from '@ant-design/icons'; +import { LinkOutlined } from '@ant-design/icons'; import { getTeamMembers } from '@/features/team-members/team-members.slice'; import logger from '@/utils/errorLogger'; import { validateEmail } from '@/utils/validateEmail'; @@ -192,56 +193,63 @@ const ProjectMemberDrawer = () => { ); return ( - {t('title')} - } - open={isDrawerOpen} - onClose={() => dispatch(toggleProjectMemberDrawer())} - afterOpenChange={handleOpenChange} - > -
- - ({ + key: member.id, + value: member.id, + name: member.name, + label: renderMemberOption(member), + }))} + filterOption={false} + notFoundContent={renderNotFoundContent()} + optionLabelProp="name" + /> + +
+
{t('members')}
+
+ ( + + + {renderMemberOption(member)} + + + )} /> - - - - ( - - - {renderMemberOption(member)} -
+ ); };