diff --git a/components/email/ComposeEmail.tsx b/components/email/ComposeEmail.tsx index 97df84f7..74649f6d 100644 --- a/components/email/ComposeEmail.tsx +++ b/components/email/ComposeEmail.tsx @@ -186,9 +186,12 @@ export default function ComposeEmail(props: ComposeEmailAllProps) { setEmailContent(content); } + // Create a local variable to avoid type comparison issues + const isNewEmail = type === 'new'; + // Focus editor after initializing content setTimeout(() => { - if (editorRef.current && type !== 'new') { + if (!isNewEmail && editorRef.current) { // For replies/forwards, focus contentEditable editorRef.current.focus(); @@ -453,9 +456,9 @@ export default function ComposeEmail(props: ComposeEmailAllProps) { className="w-full p-4 min-h-[300px] focus:outline-none" onInput={handleEditorInput} dangerouslySetInnerHTML={{ __html: emailContent }} - dir="auto" + dir="rtl" style={{ - textAlign: 'initial', + textAlign: 'right', }} /> diff --git a/lib/utils/email-formatter.ts b/lib/utils/email-formatter.ts index 9578c71b..b00fdff5 100644 --- a/lib/utils/email-formatter.ts +++ b/lib/utils/email-formatter.ts @@ -157,7 +157,7 @@ export function formatForwardedEmail(email: EmailMessage): { // Create formatted content for forwarded email const content = ` -
+
@@ -167,11 +167,12 @@ export function formatForwardedEmail(email: EmailMessage): {
Subject: ${email.subject || ''}
To: ${toString}
-
+
`; return { subject, content }; @@ -232,15 +233,16 @@ export function formatReplyEmail(email: EmailMessage, type: 'reply' | 'reply-all // Format content for reply const content = ` -
+
${quoteHeader}
-
+
${quotedContent}
+
`; return { @@ -308,7 +310,7 @@ export async function decodeComposeContent(content: string): Promise<{ const parsed = await response.json(); - // Apply LTR sanitization to the parsed content + // Sanitize the parsed content while preserving text direction return { html: parsed.html ? sanitizeHtml(parsed.html) : null, text: parsed.text || null