courrier refactor rebuild preview
This commit is contained in:
parent
cb3e119a5d
commit
bb97f9b364
@ -187,3 +187,40 @@
|
|||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Special classes used in the email formatting functions */
|
||||||
|
.email-content-display .reply-body {
|
||||||
|
width: 100%;
|
||||||
|
direction: rtl;
|
||||||
|
text-align: right;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.email-content-display .quote-header {
|
||||||
|
color: #555;
|
||||||
|
font-size: 13px;
|
||||||
|
margin: 20px 0 10px 0;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.email-content-display .quoted-content {
|
||||||
|
font-size: 13px;
|
||||||
|
direction: rtl;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.email-content-display .email-original-content {
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-top: 10px;
|
||||||
|
text-align: right;
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix styles for the content in both preview and compose */
|
||||||
|
.email-content-display[contenteditable="false"] {
|
||||||
|
/* Same styles as contentEditable=true to ensure consistency */
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-break: break-word;
|
||||||
|
direction: rtl;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -126,14 +126,21 @@ export default function EmailPreview({ email, loading = false, onReply }: EmailP
|
|||||||
// Get the raw content directly
|
// Get the raw content directly
|
||||||
const rawContent = email.content || email.html || email.text || '';
|
const rawContent = email.content || email.html || email.text || '';
|
||||||
|
|
||||||
// Now use the same content that would be shown in a reply
|
// First try to use the raw content, but apply the same styling
|
||||||
// This is exactly what ComposeEmail shows
|
const formattedWithStyles = `
|
||||||
const { content } = formatReplyEmail(formatterEmail, 'reply');
|
<div style="min-height: 20px;" dir="rtl">
|
||||||
|
<div class="reply-body">
|
||||||
|
<div class="email-original-content" dir="rtl">
|
||||||
|
${rawContent}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
|
||||||
console.log("Formatted content for display:", content.substring(0, 200));
|
console.log("Formatted content for display");
|
||||||
|
|
||||||
// Use the formatted content that includes the proper structure
|
// Use the formatted content with proper structure
|
||||||
setFormattedContent(content);
|
setFormattedContent(formattedWithStyles);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error formatting email content:', error);
|
console.error('Error formatting email content:', error);
|
||||||
// Fallback to raw content if formatting fails
|
// Fallback to raw content if formatting fails
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user