Update localization and UI for team member invitation feature
- Changed button labels for inviting team members to "Send Invitation" across multiple languages (Albanian, German, English, Spanish, Portuguese, Chinese). - Updated the invite team members component to use a modal instead of a drawer for a better user experience. - Added a new button for copying the team link in the modal footer, enhancing functionality.
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "Titulli i Punës",
|
"jobTitleLabel": "Titulli i Punës",
|
||||||
"jobTitlePlaceholder": "Zgjidh ose kërko titull pune (Opsionale)",
|
"jobTitlePlaceholder": "Zgjidh ose kërko titull pune (Opsionale)",
|
||||||
"memberAccessLabel": "Niveli i Qasjes",
|
"memberAccessLabel": "Niveli i Qasjes",
|
||||||
"addToTeamButton": "Shto Anëtar në Ekip",
|
"addToTeamButton": "Dërgo ftesën",
|
||||||
"updateButton": "Ruaj Ndryshimet",
|
"updateButton": "Ruaj Ndryshimet",
|
||||||
"resendInvitationButton": "Dërgo Përsëri Email-in e Ftesës",
|
"resendInvitationButton": "Dërgo Përsëri Email-in e Ftesës",
|
||||||
"invitationSentSuccessMessage": "Ftesa për ekip u dërgua me sukses!",
|
"invitationSentSuccessMessage": "Ftesa për ekip u dërgua me sukses!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "Përditësuar",
|
"updatedText": "Përditësuar",
|
||||||
"noResultFound": "Shkruani një adresë email dhe shtypni Enter...",
|
"noResultFound": "Shkruani një adresë email dhe shtypni Enter...",
|
||||||
"jobTitlesFetchError": "Dështoi marrja e titujve të punës",
|
"jobTitlesFetchError": "Dështoi marrja e titujve të punës",
|
||||||
"invitationResent": "Ftesa u dërgua sërish me sukses!"
|
"invitationResent": "Ftesa u dërgua sërish me sukses!",
|
||||||
|
"copyTeamLink": "Kopjo lidhjen e ekipit"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "Jobtitel",
|
"jobTitleLabel": "Jobtitel",
|
||||||
"jobTitlePlaceholder": "Jobtitel auswählen oder suchen (optional)",
|
"jobTitlePlaceholder": "Jobtitel auswählen oder suchen (optional)",
|
||||||
"memberAccessLabel": "Zugriffslevel",
|
"memberAccessLabel": "Zugriffslevel",
|
||||||
"addToTeamButton": "Mitglied zum Team hinzufügen",
|
"addToTeamButton": "Einladung senden",
|
||||||
"updateButton": "Änderungen speichern",
|
"updateButton": "Änderungen speichern",
|
||||||
"resendInvitationButton": "Einladungs-E-Mail erneut senden",
|
"resendInvitationButton": "Einladungs-E-Mail erneut senden",
|
||||||
"invitationSentSuccessMessage": "Team-Einladung erfolgreich versendet!",
|
"invitationSentSuccessMessage": "Team-Einladung erfolgreich versendet!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "Aktualisiert",
|
"updatedText": "Aktualisiert",
|
||||||
"noResultFound": "Geben Sie eine E-Mail-Adresse ein und drücken Sie Enter...",
|
"noResultFound": "Geben Sie eine E-Mail-Adresse ein und drücken Sie Enter...",
|
||||||
"jobTitlesFetchError": "Fehler beim Abrufen der Jobtitel",
|
"jobTitlesFetchError": "Fehler beim Abrufen der Jobtitel",
|
||||||
"invitationResent": "Einladung erfolgreich erneut gesendet!"
|
"invitationResent": "Einladung erfolgreich erneut gesendet!",
|
||||||
|
"copyTeamLink": "Team-Link kopieren"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"cancelText": "No, cancel",
|
"cancelText": "No, cancel",
|
||||||
"deactivatedText": "(Currently deactivated)",
|
"deactivatedText": "(Currently deactivated)",
|
||||||
"pendingInvitationText": "(Invitation pending)",
|
"pendingInvitationText": "(Invitation pending)",
|
||||||
"addMemberDrawerTitle": "Add New Team Member",
|
"addMemberDrawerTitle": "Invite Team Members",
|
||||||
"updateMemberDrawerTitle": "Update Team Member",
|
"updateMemberDrawerTitle": "Update Team Member",
|
||||||
"addMemberEmailHint": "Members will be added to the team regardless of invitation acceptance status",
|
"addMemberEmailHint": "Members will be added to the team regardless of invitation acceptance status",
|
||||||
"memberEmailLabel": "Email(s)",
|
"memberEmailLabel": "Email(s)",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "Job Title",
|
"jobTitleLabel": "Job Title",
|
||||||
"jobTitlePlaceholder": "Select or search job title (Optional)",
|
"jobTitlePlaceholder": "Select or search job title (Optional)",
|
||||||
"memberAccessLabel": "Access Level",
|
"memberAccessLabel": "Access Level",
|
||||||
"addToTeamButton": "Add Member to Team",
|
"addToTeamButton": "Send Invitation",
|
||||||
"updateButton": "Save Changes",
|
"updateButton": "Save Changes",
|
||||||
"resendInvitationButton": "Resend Invitation Email",
|
"resendInvitationButton": "Resend Invitation Email",
|
||||||
"invitationSentSuccessMessage": "Team invitation sent successfully!",
|
"invitationSentSuccessMessage": "Team invitation sent successfully!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "Updated",
|
"updatedText": "Updated",
|
||||||
"noResultFound": "Type an email address and hit enter...",
|
"noResultFound": "Type an email address and hit enter...",
|
||||||
"jobTitlesFetchError": "Failed to fetch job titles",
|
"jobTitlesFetchError": "Failed to fetch job titles",
|
||||||
"invitationResent": "Invitation resent successfully!"
|
"invitationResent": "Invitation resent successfully!",
|
||||||
|
"copyTeamLink": "Copy team link"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "Cargo",
|
"jobTitleLabel": "Cargo",
|
||||||
"jobTitlePlaceholder": "Seleccione o busque cargo (Opcional)",
|
"jobTitlePlaceholder": "Seleccione o busque cargo (Opcional)",
|
||||||
"memberAccessLabel": "Nivel de acceso",
|
"memberAccessLabel": "Nivel de acceso",
|
||||||
"addToTeamButton": "Agregar miembro al equipo",
|
"addToTeamButton": "Enviar invitación",
|
||||||
"updateButton": "Guardar cambios",
|
"updateButton": "Guardar cambios",
|
||||||
"resendInvitationButton": "Reenviar correo de invitación",
|
"resendInvitationButton": "Reenviar correo de invitación",
|
||||||
"invitationSentSuccessMessage": "¡Invitación al equipo enviada exitosamente!",
|
"invitationSentSuccessMessage": "¡Invitación al equipo enviada exitosamente!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "Actualizado",
|
"updatedText": "Actualizado",
|
||||||
"noResultFound": "Escriba una dirección de correo electrónico y presione enter...",
|
"noResultFound": "Escriba una dirección de correo electrónico y presione enter...",
|
||||||
"jobTitlesFetchError": "Error al obtener los cargos",
|
"jobTitlesFetchError": "Error al obtener los cargos",
|
||||||
"invitationResent": "¡Invitación reenviada exitosamente!"
|
"invitationResent": "¡Invitación reenviada exitosamente!",
|
||||||
|
"copyTeamLink": "Copiar enlace del equipo"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "Título do Emprego",
|
"jobTitleLabel": "Título do Emprego",
|
||||||
"jobTitlePlaceholder": "Selecione ou pesquise o título do emprego (Opcional)",
|
"jobTitlePlaceholder": "Selecione ou pesquise o título do emprego (Opcional)",
|
||||||
"memberAccessLabel": "Nível de Acesso",
|
"memberAccessLabel": "Nível de Acesso",
|
||||||
"addToTeamButton": "Adicionar Membro à Equipe",
|
"addToTeamButton": "Enviar convite",
|
||||||
"updateButton": "Salvar Alterações",
|
"updateButton": "Salvar Alterações",
|
||||||
"resendInvitationButton": "Redirecionar Email de Convite",
|
"resendInvitationButton": "Redirecionar Email de Convite",
|
||||||
"invitationSentSuccessMessage": "Convite para a equipe enviado com sucesso!",
|
"invitationSentSuccessMessage": "Convite para a equipe enviado com sucesso!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "Atualizado",
|
"updatedText": "Atualizado",
|
||||||
"noResultFound": "Digite um endereço de email e pressione enter...",
|
"noResultFound": "Digite um endereço de email e pressione enter...",
|
||||||
"jobTitlesFetchError": "Falha ao buscar cargos",
|
"jobTitlesFetchError": "Falha ao buscar cargos",
|
||||||
"invitationResent": "Convite reenviado com sucesso!"
|
"invitationResent": "Convite reenviado com sucesso!",
|
||||||
|
"copyTeamLink": "Copiar link da equipe"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"jobTitleLabel": "职位",
|
"jobTitleLabel": "职位",
|
||||||
"jobTitlePlaceholder": "选择或搜索职位(可选)",
|
"jobTitlePlaceholder": "选择或搜索职位(可选)",
|
||||||
"memberAccessLabel": "访问级别",
|
"memberAccessLabel": "访问级别",
|
||||||
"addToTeamButton": "将成员添加到团队",
|
"addToTeamButton": "发送邀请",
|
||||||
"updateButton": "保存更改",
|
"updateButton": "保存更改",
|
||||||
"resendInvitationButton": "重新发送邀请邮件",
|
"resendInvitationButton": "重新发送邀请邮件",
|
||||||
"invitationSentSuccessMessage": "团队邀请已成功发送!",
|
"invitationSentSuccessMessage": "团队邀请已成功发送!",
|
||||||
@@ -43,5 +43,6 @@
|
|||||||
"updatedText": "已更新",
|
"updatedText": "已更新",
|
||||||
"noResultFound": "输入电子邮件地址并按回车键...",
|
"noResultFound": "输入电子邮件地址并按回车键...",
|
||||||
"jobTitlesFetchError": "获取职位失败",
|
"jobTitlesFetchError": "获取职位失败",
|
||||||
"invitationResent": "邀请重新发送成功!"
|
"invitationResent": "邀请重新发送成功!",
|
||||||
|
"copyTeamLink": "复制团队链接"
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
import { AutoComplete, Button, Drawer, Flex, Form, message, Select, Spin, Typography } from 'antd';
|
import { AutoComplete, Button, Drawer, Flex, Form, message, Modal, Select, Spin, Typography } from 'antd';
|
||||||
import { useAppSelector } from '@/hooks/useAppSelector';
|
import { useAppSelector } from '@/hooks/useAppSelector';
|
||||||
import { useAppDispatch } from '@/hooks/useAppDispatch';
|
import { useAppDispatch } from '@/hooks/useAppDispatch';
|
||||||
import {
|
import {
|
||||||
@@ -11,6 +11,7 @@ import { jobTitlesApiService } from '@/api/settings/job-titles/job-titles.api.se
|
|||||||
import { IJobTitle } from '@/types/job.types';
|
import { IJobTitle } from '@/types/job.types';
|
||||||
import { teamMembersApiService } from '@/api/team-members/teamMembers.api.service';
|
import { teamMembersApiService } from '@/api/team-members/teamMembers.api.service';
|
||||||
import { ITeamMemberCreateRequest } from '@/types/teamMembers/team-member-create-request';
|
import { ITeamMemberCreateRequest } from '@/types/teamMembers/team-member-create-request';
|
||||||
|
import { LinkOutlined } from '@ant-design/icons';
|
||||||
|
|
||||||
interface FormValues {
|
interface FormValues {
|
||||||
email: string[];
|
email: string[];
|
||||||
@@ -87,24 +88,34 @@ const InviteTeamMembers = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Drawer
|
<Modal
|
||||||
title={
|
title={
|
||||||
<Typography.Text strong style={{ fontSize: 16 }}>
|
<Typography.Text strong style={{ fontSize: 16 }}>
|
||||||
{t('addMemberDrawerTitle')}
|
{t('addMemberDrawerTitle')}
|
||||||
</Typography.Text>
|
</Typography.Text>
|
||||||
}
|
}
|
||||||
open={isDrawerOpen}
|
open={isDrawerOpen}
|
||||||
onClose={handleClose}
|
onCancel={handleClose}
|
||||||
destroyOnClose
|
destroyOnClose
|
||||||
afterOpenChange={visible => visible && handleSearch('')}
|
afterOpenChange={visible => visible && handleSearch('')}
|
||||||
width={400}
|
width={400}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
footer={
|
footer={
|
||||||
|
<Flex justify="space-between">
|
||||||
|
<Button
|
||||||
|
style={{ width: 140, fontSize: 12 }}
|
||||||
|
block
|
||||||
|
icon={<LinkOutlined />}
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
{t('copyTeamLink')}
|
||||||
|
</Button>
|
||||||
<Flex justify="end">
|
<Flex justify="end">
|
||||||
<Button type="primary" onClick={form.submit}>
|
<Button onClick={form.submit} style={{ fontSize: 12 }}>
|
||||||
{t('addToTeamButton')}
|
{t('addToTeamButton')}
|
||||||
</Button>
|
</Button>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
</Flex>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Form
|
<Form
|
||||||
@@ -176,7 +187,7 @@ const InviteTeamMembers = () => {
|
|||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Form>
|
</Form>
|
||||||
</Drawer>
|
</Modal>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user