diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 675402f315..f405b875af 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1150,7 +1150,17 @@ }, "DeliveryIssue--summary": { "message": "A message, sticker, reaction, read receipt or media couldn’t be delivered to you from $sender$. They may have tried sending it to you directly, or in a group.", - "description": "Shown on explainer dialog available from delivery issue timeline events", + "description": "Shown on explainer dialog available from delivery issue timeline events in 1:1 conversations", + "placeholders": { + "name": { + "content": "$1", + "example": "Alice" + } + } + }, + "DeliveryIssue--summary--group": { + "message": "A message, sticker, reaction, read receipt or media couldn’t be delivered to you from $sender$ in this chat.", + "description": "Shown on explainer dialog available from delivery issue timeline events in groups", "placeholders": { "name": { "content": "$1", diff --git a/ts/components/conversation/DeliveryIssueDialog.stories.tsx b/ts/components/conversation/DeliveryIssueDialog.stories.tsx index d77aea9f66..7ddc1f9cd6 100644 --- a/ts/components/conversation/DeliveryIssueDialog.stories.tsx +++ b/ts/components/conversation/DeliveryIssueDialog.stories.tsx @@ -20,6 +20,21 @@ storiesOf('Components/Conversation/DeliveryIssueDialog', module).add( + ); + } +); + +storiesOf('Components/Conversation/DeliveryIssueDialog', module).add( + 'In Group', + () => { + return ( + ); diff --git a/ts/components/conversation/DeliveryIssueDialog.tsx b/ts/components/conversation/DeliveryIssueDialog.tsx index 009d4edf80..bae85be7f3 100644 --- a/ts/components/conversation/DeliveryIssueDialog.tsx +++ b/ts/components/conversation/DeliveryIssueDialog.tsx @@ -13,11 +13,16 @@ import { LocalizerType } from '../../types/Util'; export type PropsType = { i18n: LocalizerType; sender: ConversationType; + inGroup: boolean; onClose: () => unknown; }; export function DeliveryIssueDialog(props: PropsType): React.ReactElement { - const { i18n, sender, onClose } = props; + const { i18n, inGroup, sender, onClose } = props; + + const key = inGroup + ? 'DeliveryIssue--summary--group' + : 'DeliveryIssue--summary'; return ( @@ -35,7 +40,7 @@ export function DeliveryIssueDialog(props: PropsType): React.ReactElement {
, }} diff --git a/ts/components/conversation/DeliveryIssueNotification.stories.tsx b/ts/components/conversation/DeliveryIssueNotification.stories.tsx index 46dad49e5a..38659d6dc0 100644 --- a/ts/components/conversation/DeliveryIssueNotification.stories.tsx +++ b/ts/components/conversation/DeliveryIssueNotification.stories.tsx @@ -18,6 +18,15 @@ const sender = getDefaultConversation(); storiesOf('Components/Conversation/DeliveryIssueNotification', module).add( 'Default', () => { - return ; + return ( + + ); + } +); + +storiesOf('Components/Conversation/DeliveryIssueNotification', module).add( + 'In Group', + () => { + return ; } ); diff --git a/ts/components/conversation/DeliveryIssueNotification.tsx b/ts/components/conversation/DeliveryIssueNotification.tsx index 24ebdf40c4..0519803c60 100644 --- a/ts/components/conversation/DeliveryIssueNotification.tsx +++ b/ts/components/conversation/DeliveryIssueNotification.tsx @@ -12,6 +12,7 @@ import { DeliveryIssueDialog } from './DeliveryIssueDialog'; export type PropsDataType = { sender?: ConversationType; + inGroup: boolean; }; type PropsHousekeepingType = { @@ -23,7 +24,7 @@ export type PropsType = PropsDataType & PropsHousekeepingType; export function DeliveryIssueNotification( props: PropsType ): ReactElement | null { - const { i18n, sender } = props; + const { i18n, inGroup, sender } = props; const [isDialogOpen, setIsDialogOpen] = useState(false); const openDialog = useCallback(() => { @@ -59,6 +60,7 @@ export function DeliveryIssueNotification( {isDialogOpen ? ( diff --git a/ts/state/selectors/message.ts b/ts/state/selectors/message.ts index e0697d243d..88271d0f7e 100644 --- a/ts/state/selectors/message.ts +++ b/ts/state/selectors/message.ts @@ -857,9 +857,11 @@ function getPropsForDeliveryIssue( conversationSelector: GetConversationByIdType ): DeliveryIssuePropsType { const sender = conversationSelector(message.sourceUuid); + const conversation = conversationSelector(message.conversationId); return { sender, + inGroup: conversation.type === 'group', }; }