From 19c54d7d26b8449b4e7bbab8d98dccdd02ac20f4 Mon Sep 17 00:00:00 2001 From: Alexey Lunin <alexey.lunin@vereign.com> Date: Wed, 4 Oct 2023 06:52:49 +0300 Subject: [PATCH] fix subjects --- src/screens/EmailDetails/Subject.tsx | 39 +++++++++++++++++++++++----- src/screens/EmailDetails/index.tsx | 4 ++- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/screens/EmailDetails/Subject.tsx b/src/screens/EmailDetails/Subject.tsx index 86a6377..aed4724 100644 --- a/src/screens/EmailDetails/Subject.tsx +++ b/src/screens/EmailDetails/Subject.tsx @@ -4,15 +4,24 @@ import { StyleSheet, Text, View } from 'react-native'; import EmailSvg from 'src/assets/svg/e-mail.svg'; import { ColorPallet, TextTheme } from 'src/theme/theme'; import Card from 'src/components/EmailCard'; +import {parseEmailAddresses} from "../../utils/email"; interface Props { subject: string; - recipients: string[]; + to: string; + cc: string; + bcc: string; } -const Subject = ({ subject, recipients }: Props) => { +const Subject = ({ subject, to, cc, bcc }: Props) => { const { t } = useTranslation(); + const toList = parseEmailAddresses(to); + const ccList = parseEmailAddresses(cc); + const bccList = parseEmailAddresses(bcc); + + const all = [...toList, ...ccList, ...bccList]; + return ( <Card background="white" SvgIcon={EmailSvg}> <View style={styles.container}> @@ -20,13 +29,29 @@ const Subject = ({ subject, recipients }: Props) => { <Text style={styles.subject}>{subject || t<string>('Seal.Details.NoSubject')}</Text> )} <Text style={styles.recipientLabel}> - {recipients.length ? t<string>('Seal.Details.Recipients') : t<string>('Seal.Details.NoRecipients')} + {all.length ? t<string>('Seal.Details.Recipients') : t<string>('Seal.Details.NoRecipients')} </Text> - {recipients.map((recipient) => ( - <React.Fragment key={recipient}> - <Text style={styles.recipientName}>{recipient}</Text> - </React.Fragment> + {toList.map((recipient) => ( + <Text + key={recipient.email} + style={styles.recipientName}> + to: {recipient.name} {recipient.email} + </Text> + ))} + {ccList.map((recipient) => ( + <Text + key={recipient.email} + style={styles.recipientName}> + cc: {recipient.name} {recipient.email} + </Text> + ))} + {bccList.map((recipient) => ( + <Text + key={recipient.email} + style={styles.recipientName}> + bcc: {recipient.name} {recipient.email} + </Text> ))} </View> </Card> diff --git a/src/screens/EmailDetails/index.tsx b/src/screens/EmailDetails/index.tsx index dac62be..66031b2 100644 --- a/src/screens/EmailDetails/index.tsx +++ b/src/screens/EmailDetails/index.tsx @@ -144,7 +144,9 @@ const EmailDetails: React.FC<EmailDetailsProps> = observer(({ /> <Subject subject={email.subject} - recipients={email.to?.split(',').map(p => p.trim()) || []} + to={email.to} + cc={email.cc} + bcc={email.bcc} /> <ContentCard html={html} -- GitLab