diff --git a/src/screens/EmailDetails/Subject.tsx b/src/screens/EmailDetails/Subject.tsx index 86a63776ac4dd3ec5d3a94def9d76c5d776aa6b0..aed4724ae62b46864a1196274559d0c809e1b041 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 dac62be179b219abe9843819883c54a667b3b60a..66031b23c0e456f31199897f873200565f4420b2 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}