GroupV2: Show better strings for 'added but previously invited' cases
This commit is contained in:
parent
b91107efbc
commit
6b3d5c19b3
4 changed files with 171 additions and 12 deletions
|
@ -368,9 +368,60 @@ storiesOf('Components/Conversation/GroupV2Change', module)
|
|||
</>
|
||||
);
|
||||
})
|
||||
.add('Member Add - from invite', () => {
|
||||
.add('Member Add - add invited', () => {
|
||||
return (
|
||||
<>
|
||||
{/* the strings where someone added you - shown like a normal add */}
|
||||
{renderChange({
|
||||
from: CONTACT_A,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: OUR_ID,
|
||||
inviter: CONTACT_B,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{renderChange({
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: OUR_ID,
|
||||
inviter: CONTACT_A,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{/* the rest of the 'someone added someone else' checks */}
|
||||
{renderChange({
|
||||
from: OUR_ID,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: CONTACT_A,
|
||||
inviter: CONTACT_B,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{renderChange({
|
||||
from: CONTACT_A,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: CONTACT_B,
|
||||
inviter: CONTACT_C,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{renderChange({
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: CONTACT_A,
|
||||
inviter: CONTACT_B,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{/* in all of these we know the user has accepted the invite */}
|
||||
{renderChange({
|
||||
from: OUR_ID,
|
||||
details: [
|
||||
|
@ -382,7 +433,16 @@ storiesOf('Components/Conversation/GroupV2Change', module)
|
|||
],
|
||||
})}
|
||||
{renderChange({
|
||||
from: CONTACT_B,
|
||||
from: OUR_ID,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: OUR_ID,
|
||||
},
|
||||
],
|
||||
})}
|
||||
{renderChange({
|
||||
from: CONTACT_A,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
|
@ -392,6 +452,7 @@ storiesOf('Components/Conversation/GroupV2Change', module)
|
|||
],
|
||||
})}
|
||||
{renderChange({
|
||||
from: CONTACT_A,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
|
@ -400,6 +461,15 @@ storiesOf('Components/Conversation/GroupV2Change', module)
|
|||
},
|
||||
],
|
||||
})}
|
||||
{renderChange({
|
||||
from: CONTACT_A,
|
||||
details: [
|
||||
{
|
||||
type: 'member-add-from-invite',
|
||||
conversationId: CONTACT_A,
|
||||
},
|
||||
],
|
||||
})}
|
||||
</>
|
||||
);
|
||||
})
|
||||
|
|
|
@ -189,20 +189,62 @@ export function renderChangeDetail(
|
|||
const weAreJoiner = conversationId === ourConversationId;
|
||||
const weAreInviter = Boolean(inviter && inviter === ourConversationId);
|
||||
|
||||
if (!from || from !== conversationId) {
|
||||
if (weAreJoiner) {
|
||||
// They can't be the same, no fromYou check here
|
||||
if (from) {
|
||||
return renderString('GroupV2--member-add--you--other', i18n, [
|
||||
renderContact(from),
|
||||
]);
|
||||
}
|
||||
return renderString('GroupV2--member-add--you--unknown', i18n);
|
||||
}
|
||||
|
||||
if (fromYou) {
|
||||
return renderString('GroupV2--member-add--invited--you', i18n, {
|
||||
inviteeName: renderContact(conversationId),
|
||||
});
|
||||
}
|
||||
if (from) {
|
||||
return renderString('GroupV2--member-add--invited--other', i18n, {
|
||||
memberName: renderContact(from),
|
||||
inviteeName: renderContact(conversationId),
|
||||
});
|
||||
}
|
||||
return renderString('GroupV2--member-add--invited--unknown', i18n, {
|
||||
inviteeName: renderContact(conversationId),
|
||||
});
|
||||
}
|
||||
|
||||
if (weAreJoiner) {
|
||||
return renderString('GroupV2--member-add--from-invite--you', i18n, [
|
||||
renderContact(inviter),
|
||||
]);
|
||||
if (inviter) {
|
||||
return renderString('GroupV2--member-add--from-invite--you', i18n, [
|
||||
renderContact(inviter),
|
||||
]);
|
||||
}
|
||||
return renderString(
|
||||
'GroupV2--member-add--from-invite--you-no-from',
|
||||
i18n
|
||||
);
|
||||
}
|
||||
if (weAreInviter) {
|
||||
return renderString('GroupV2--member-add--from-invite--from-you', i18n, [
|
||||
renderContact(conversationId),
|
||||
]);
|
||||
}
|
||||
return renderString('GroupV2--member-add--from-invite--other', i18n, {
|
||||
inviteeName: renderContact(conversationId),
|
||||
inviterName: renderContact(inviter),
|
||||
});
|
||||
if (inviter) {
|
||||
return renderString('GroupV2--member-add--from-invite--other', i18n, {
|
||||
inviteeName: renderContact(conversationId),
|
||||
inviterName: renderContact(inviter),
|
||||
});
|
||||
}
|
||||
return renderString(
|
||||
'GroupV2--member-add--from-invite--other-no-from',
|
||||
i18n,
|
||||
{
|
||||
inviteeName: renderContact(conversationId),
|
||||
}
|
||||
);
|
||||
} else if (detail.type === 'member-remove') {
|
||||
const { conversationId } = detail;
|
||||
const weAreLeaver = conversationId === ourConversationId;
|
||||
|
|
|
@ -78,7 +78,7 @@ export type GroupV2MemberAddChangeType = {
|
|||
export type GroupV2MemberAddFromInviteChangeType = {
|
||||
type: 'member-add-from-invite';
|
||||
conversationId: string;
|
||||
inviter: string;
|
||||
inviter?: string;
|
||||
};
|
||||
export type GroupV2MemberPrivilegeChangeType = {
|
||||
type: 'member-privilege';
|
||||
|
@ -946,7 +946,7 @@ function extractDiffs({
|
|||
if (!oldMember) {
|
||||
const pendingMember = oldPendingMemberLookup[conversationId];
|
||||
|
||||
if (pendingMember && pendingMember.addedByUserId) {
|
||||
if (pendingMember) {
|
||||
details.push({
|
||||
type: 'member-add-from-invite',
|
||||
conversationId,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue