` : summary.organizer) : ''],
+ ] as Array<[string, string]>).filter(([, value]) => value),
+ }}
+ />
+ )}
{/* Avatar-style icon */}
/g, '')
: sanitizeEmailHtml(effectiveEmailContent.html),
plain,
+ invitation: invitationPrint,
};
};
@@ -3889,6 +3891,8 @@ ${printWatermark ? printWatermark.html : ''}
() => printing && !!viewerRootEl && isShownOnScreen(viewerRootEl),
[printing, viewerRootEl],
);
+ // An invitation's when and where, from its card.
+ const invitationPrint = useInvitationPrint(email?.id);
const printCopyFields = printShown && !devices.noPrint && !isLoading && !!email?.bodyValues
? messagePrintFields()
: null;
diff --git a/components/email/message-print.tsx b/components/email/message-print.tsx
index 53cfd7c44..43aff624d 100644
--- a/components/email/message-print.tsx
+++ b/components/email/message-print.tsx
@@ -3,6 +3,7 @@
import { useCallback } from "react";
import { useTranslations } from "next-intl";
import { PrintRoot } from "@/components/print/print-root";
+import type { InvitationPrint } from "@/lib/print/invitation-print";
export interface MessagePrintFields {
subject: string;
@@ -13,6 +14,8 @@ export interface MessagePrintFields {
/** Sanitized body HTML without