This commit is contained in:
rustmailer
2026-04-05 16:06:07 +08:00
parent 8b4dc44c07
commit 286ae16057
38 changed files with 2634 additions and 3640 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ export interface EmailEnvelope {
mailbox_name?: string;
uid: number;
subject: string;
text: string;
preview: string;
from: string;
to: string[];
cc: string[];
+4 -5
View File
@@ -445,7 +445,7 @@ export default function MailArchiveDashboard() {
<TableRow
key={index}
className="cursor-pointer hover:bg-accent/50 group relative"
onClick={() => handleQuickSearch({ text: m.subject })}
onClick={() => handleQuickSearch({ subject: `"${m.subject}"` })}
>
<TableCell
className="max-w-[350px] truncate font-medium relative px-4"
@@ -527,11 +527,10 @@ export default function MailArchiveDashboard() {
</TabsContent>
</Tabs>
</div>
<div className="p-6 md:p-8 pt-0 text-center text-xs text-muted-foreground">
© 2025-2026 <a href="https://rustmailer.com" target="_blank" rel="noopener noreferrer" className="hover:underline">rustmailer.com</a> - Bichon Email Archiving Project
</div>
</Main>
<div className="mt-auto p-6 md:p-8 pt-0 text-center text-xs text-muted-foreground">
© 2025-2026 <a href="https://rustmailer.com" target="_blank" rel="noopener noreferrer" className="hover:underline">rustmailer.com</a> - Bichon Email Archiving Project
</div>
</>
);
}
+3 -3
View File
@@ -239,9 +239,9 @@ export function MailListTable({
id: "text_preview",
header: () => null,
cell: ({ row }) => {
const text = row.original.text
const preview = row.original.preview
if (!text) return null
if (!preview) return null
return (
<HoverCard openDelay={200} closeDelay={150}>
@@ -260,7 +260,7 @@ export function MailListTable({
align="start"
className="max-w-[520px] max-h-[420px] overflow-auto whitespace-pre-wrap text-xs leading-relaxed"
>
{text}
{preview}
</HoverCardContent>
</HoverCard>
)
+1 -3
View File
@@ -116,9 +116,7 @@ export function MailThreadDialog({ open, onOpenChange }: MailThreadDialogProps)
.sort((a, b) => a.date - b.date)
.map((msg) => {
const isExpanded = expandedIds.has(msg.id);
const preview =
msg.text?.slice(0, 120) +
(msg.text?.length > 120 ? '...' : '');
const preview = msg.preview;
const date = new Date(msg.date);
const formattedDate = isNaN(date.getTime())
? t('search.thread.invalidDate')