diff --git a/apps/web/src/app/(dashboard)/emails/email-details.tsx b/apps/web/src/app/(dashboard)/emails/email-details.tsx index f5bbedbf..22118428 100644 --- a/apps/web/src/app/(dashboard)/emails/email-details.tsx +++ b/apps/web/src/app/(dashboard)/emails/email-details.tsx @@ -20,6 +20,7 @@ import { COMPLAINT_ERROR_MESSAGES, DELIVERY_DELAY_ERRORS, } from "@usesend/lib/src/constants/ses-errors"; +import { getEmailPreviewSrcDoc } from "~/lib/email-preview"; import CancelEmail from "./cancel-email"; import { useEffect } from "react"; import { useState } from "react"; @@ -90,7 +91,10 @@ export default function EmailDetails({ emailId }: { emailId: string }) { animate={{ opacity: 1 }} transition={{ duration: 0.2, delay: 0.3 }} > - + {emailQuery.data?.latestStatus !== "SCHEDULED" ? ( @@ -134,7 +138,13 @@ export default function EmailDetails({ emailId }: { emailId: string }) { ); } -const EmailPreview = ({ html }: { html: string }) => { +const EmailPreview = ({ + html, + text, +}: { + html: string | null | undefined; + text: string | null | undefined; +}) => { const [show, setShow] = useState(false); useEffect(() => { @@ -145,17 +155,29 @@ const EmailPreview = ({ html }: { html: string }) => { return () => clearTimeout(timer); }, []); + const srcDoc = getEmailPreviewSrcDoc(html, text); + if (!show) { return (
); } + if (!srcDoc) { + return ( +
+ + No content to preview + +
+ ); + } + return (