mail page fix design
This commit is contained in:
parent
384a6da21e
commit
8a6df70662
@ -514,10 +514,6 @@ export default function CourrierPage() {
|
|||||||
const [isMarkingUnread, setIsMarkingUnread] = useState(false);
|
const [isMarkingUnread, setIsMarkingUnread] = useState(false);
|
||||||
const [isRefreshing, setIsRefreshing] = useState(false);
|
const [isRefreshing, setIsRefreshing] = useState(false);
|
||||||
const composeBodyRef = useRef<HTMLDivElement>(null);
|
const composeBodyRef = useRef<HTMLDivElement>(null);
|
||||||
const [originalEmail, setOriginalEmail] = useState<{
|
|
||||||
content: string;
|
|
||||||
type: 'reply' | 'reply-all' | 'forward';
|
|
||||||
} | null>(null);
|
|
||||||
|
|
||||||
// Debug logging for email distribution
|
// Debug logging for email distribution
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -1411,14 +1407,19 @@ export default function CourrierPage() {
|
|||||||
return subject.startsWith('Re:') ? subject : `Re: ${subject}`;
|
return subject.startsWith('Re:') ? subject : `Re: ${subject}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Get the formatted original email content
|
// Prepare the reply email
|
||||||
const originalContent = getReplyBody(selectedEmail, type);
|
const replyEmail = {
|
||||||
|
to: getReplyTo(),
|
||||||
|
cc: getReplyCc(),
|
||||||
|
subject: getReplySubject(),
|
||||||
|
body: getReplyBody(selectedEmail, type)
|
||||||
|
};
|
||||||
|
|
||||||
// Update the compose form with the reply content
|
// Update the compose form with the reply content
|
||||||
setComposeTo(getReplyTo());
|
setComposeTo(replyEmail.to);
|
||||||
setComposeCc(getReplyCc());
|
setComposeCc(replyEmail.cc);
|
||||||
setComposeSubject(getReplySubject());
|
setComposeSubject(replyEmail.subject);
|
||||||
setComposeBody('');
|
setComposeBody(replyEmail.body);
|
||||||
setComposeBcc('');
|
setComposeBcc('');
|
||||||
|
|
||||||
// Show the compose form and CC field for Reply All
|
// Show the compose form and CC field for Reply All
|
||||||
@ -1426,11 +1427,6 @@ export default function CourrierPage() {
|
|||||||
setShowCc(type === 'reply-all');
|
setShowCc(type === 'reply-all');
|
||||||
setShowBcc(false);
|
setShowBcc(false);
|
||||||
setAttachments([]);
|
setAttachments([]);
|
||||||
|
|
||||||
// Pass the original email content to the compose modal
|
|
||||||
setOriginalEmail({
|
|
||||||
content: originalContent,
|
|
||||||
type
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Add the confirmation dialog component
|
// Add the confirmation dialog component
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useRef, useEffect, useState } from 'react';
|
import { useRef, useEffect } from 'react';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Input } from '@/components/ui/input';
|
import { Input } from '@/components/ui/input';
|
||||||
import { Label } from '@/components/ui/label';
|
import { Label } from '@/components/ui/label';
|
||||||
@ -28,10 +28,6 @@ interface ComposeEmailProps {
|
|||||||
attachments: any[];
|
attachments: any[];
|
||||||
setAttachments: (attachments: any[]) => void;
|
setAttachments: (attachments: any[]) => void;
|
||||||
handleSend: () => Promise<void>;
|
handleSend: () => Promise<void>;
|
||||||
originalEmail?: {
|
|
||||||
content: string;
|
|
||||||
type: 'reply' | 'reply-all' | 'forward';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function ComposeEmail({
|
export default function ComposeEmail({
|
||||||
@ -53,11 +49,9 @@ export default function ComposeEmail({
|
|||||||
setShowBcc,
|
setShowBcc,
|
||||||
attachments,
|
attachments,
|
||||||
setAttachments,
|
setAttachments,
|
||||||
handleSend,
|
handleSend
|
||||||
originalEmail
|
|
||||||
}: ComposeEmailProps) {
|
}: ComposeEmailProps) {
|
||||||
const composeBodyRef = useRef<HTMLDivElement>(null);
|
const composeBodyRef = useRef<HTMLDivElement>(null);
|
||||||
const [showOriginalContent, setShowOriginalContent] = useState(true);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (composeBodyRef.current) {
|
if (composeBodyRef.current) {
|
||||||
@ -220,29 +214,6 @@ export default function ComposeEmail({
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Original Email Content Preview */}
|
|
||||||
{originalEmail && showOriginalContent && (
|
|
||||||
<div className="border rounded-md p-4 bg-gray-50">
|
|
||||||
<div className="flex items-center justify-between mb-2">
|
|
||||||
<h4 className="text-sm font-medium text-gray-700">
|
|
||||||
{originalEmail.type === 'forward' ? 'Forwarded Message' : 'Original Message'}
|
|
||||||
</h4>
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
size="sm"
|
|
||||||
onClick={() => setShowOriginalContent(false)}
|
|
||||||
className="text-gray-500 hover:text-gray-700"
|
|
||||||
>
|
|
||||||
<X className="h-4 w-4" />
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
className="prose max-w-none text-sm text-gray-600"
|
|
||||||
dangerouslySetInnerHTML={{ __html: originalEmail.content }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Message Body */}
|
{/* Message Body */}
|
||||||
<div className="flex-1">
|
<div className="flex-1">
|
||||||
<Label htmlFor="message" className="block text-sm font-medium text-gray-700">Message</Label>
|
<Label htmlFor="message" className="block text-sm font-medium text-gray-700">Message</Label>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user