diff --git a/public/locales/en/core.json b/public/locales/en/core.json index 407571c..5ba27e8 100644 --- a/public/locales/en/core.json +++ b/public/locales/en/core.json @@ -15,6 +15,7 @@ "edit": "edit", "export": "export", "import": "import", + "invite": "invite", "join": "join", "logout": "logout", "notify": "notify" diff --git a/public/locales/en/group.json b/public/locales/en/group.json index 220aa9f..2514468 100644 --- a/public/locales/en/group.json +++ b/public/locales/en/group.json @@ -3,6 +3,7 @@ "create_group": "create group", "find_group": "find group", "join_group": "join group", + "invite_member": "invite member", "refetch_page": "refetch page", "return_to_thread": "return to threads" }, @@ -21,8 +22,10 @@ "open": "open (public)", "type": "group type" }, + "invitation_expiry": "invitation Expiry Time", "question": { "create_group": "would you like to perform an CREATE_GROUP transaction?", + "group_invite": "would you like to perform a GROUP_INVITE transaction?", "join_group": "would you like to perform an JOIN_GROUP transaction?", "provide_thread": "please provide a thread title" }, @@ -45,6 +48,7 @@ "group_creation": "successfully created group. It may take a couple of minutes for the changes to propagate", "group_creation_name": "created group {{group_name}}: awaiting confirmation", "group_creation_label": "created group {{name}}: success!", + "group_invite": "successfully invited {{value}}. It may take a couple of minutes for the changes to propagate", "join_creation": "successfully requested to join group. It may take a couple of minutes for the changes to propagate", "group_join_name": "joined group {{group_name}}: awaiting confirmation", "group_join_label": "joined group {{name}}: success!", diff --git a/src/components/Group/InviteMember.tsx b/src/components/Group/InviteMember.tsx index de3dc20..db01b59 100644 --- a/src/components/Group/InviteMember.tsx +++ b/src/components/Group/InviteMember.tsx @@ -4,16 +4,21 @@ import { useState } from 'react'; import { Spacer } from '../../common/Spacer'; import { Label } from './AddGroup'; import { getFee } from '../../background'; +import { useTranslation } from 'react-i18next'; export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => { const [value, setValue] = useState(''); const [expiryTime, setExpiryTime] = useState('259200'); const [isLoadingInvite, setIsLoadingInvite] = useState(false); + const { t } = useTranslation(['core', 'group']); + const inviteMember = async () => { try { const fee = await getFee('GROUP_INVITE'); await show({ - message: 'Would you like to perform a GROUP_INVITE transaction?', + message: t('group:question.group_invite', { + postProcess: 'capitalize', + }), publishFee: fee.fee + ' QORT', }); setIsLoadingInvite(true); @@ -27,10 +32,12 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => { }) .then((response) => { if (!response?.error) { - // TODO translate setInfoSnack({ type: 'success', - message: `Successfully invited ${value}. It may take a couple of minutes for the changes to propagate`, + message: t('group:message.success.group_invite', { + value: value, + postProcess: 'capitalize', + }), }); setOpenSnack(true); res(response); @@ -72,7 +79,7 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => { flexDirection: 'column', }} > - Invite member + {t('group:action.invite_member', { postProcess: 'capitalize' })} { onChange={(e) => setValue(e.target.value)} /> - + { loading={isLoadingInvite} onClick={inviteMember} > - Invite + {t('core:action.invite', { postProcess: 'capitalize' })} );