courrier clean 2$

This commit is contained in:
alma 2025-04-26 21:19:52 +02:00
parent b14b03877c
commit 1add54f457
2 changed files with 9 additions and 6 deletions

View File

@ -173,6 +173,7 @@ function EmailContent({ email }: { email: Email }) {
<div
className="email-content prose prose-sm max-w-none dark:prose-invert"
dangerouslySetInnerHTML={{ __html: sanitizedHtml }}
dir="auto"
/>
);
setDebugInfo('Rendered fetched HTML content with centralized formatter');
@ -204,6 +205,7 @@ function EmailContent({ email }: { email: Email }) {
<div
className="email-content prose prose-sm max-w-none dark:prose-invert"
dangerouslySetInnerHTML={{ __html: sanitizedHtml }}
dir="auto"
/>
);
setDebugInfo('Rendered existing HTML content with centralized formatter');
@ -217,13 +219,14 @@ function EmailContent({ email }: { email: Email }) {
<div
className="email-content prose prose-sm max-w-none dark:prose-invert"
dangerouslySetInnerHTML={{ __html: cleanedContent }}
dir="auto"
/>
);
setDebugInfo('Rendered content as HTML using centralized formatter');
} else {
// Otherwise, render as plain text
setContent(
<div className="email-content whitespace-pre-wrap">
<div className="email-content whitespace-pre-wrap" dir="auto">
{cleanedContent}
</div>
);
@ -426,7 +429,7 @@ function ReplyContent({ email, type }: { email: Email; type: 'reply' | 'reply-al
return <div className="text-red-500">{error}</div>;
}
return <div dangerouslySetInnerHTML={{ __html: content }} />;
return <div dangerouslySetInnerHTML={{ __html: content }} dir="auto" />;
}
function EmailPreview({ email }: { email: Email }) {

View File

@ -5,7 +5,7 @@
* It provides consistent handling of email content, sanitization, and text direction.
*
* All code that needs to format email content should import from this file.
* Text direction is standardized to LTR (left-to-right) for consistency.
* Text direction is preserved based on content language for proper RTL/LTR display.
*/
import DOMPurify from 'isomorphic-dompurify';
@ -107,14 +107,14 @@ export function formatEmailDate(date: Date | string | undefined): string {
/**
* Sanitize HTML content before processing or displaying
* This ensures the content is properly formatted for LTR display
* This ensures the content is properly sanitized while preserving text direction
* @param content HTML content to sanitize
* @returns Sanitized HTML with LTR formatting
* @returns Sanitized HTML with preserved text direction
*/
export function sanitizeHtml(content: string): string {
if (!content) return '';
// Sanitize the HTML using our configured DOMPurify with LTR enforced
// Sanitize the HTML using our configured DOMPurify with text direction preserved
return DOMPurify.sanitize(content);
}