"use client"; import type { MailEnvelope } from "@/app/[lang]/dashboard/mail/page"; import { useDictionary } from "@/components/DictionaryContext"; import { useParams } from "next/navigation"; function timeAgo(dateStr: string, lang: string): string { const now = new Date(); const d = new Date(dateStr); const diff = now.getTime() - d.getTime(); const mins = Math.floor(diff / 60000); if (mins < 1) return lang === "tr" ? "şimdi" : "now"; if (mins < 60) return `${mins}${lang === "tr" ? "dk" : "m"}`; const hrs = Math.floor(mins / 60); if (hrs < 24) return `${hrs}${lang === "tr" ? "sa" : "h"}`; const days = Math.floor(hrs / 24); if (days < 7) return `${days}${lang === "tr" ? "g" : "d"}`; return d.toLocaleDateString(lang === "tr" ? "tr-TR" : "en-US", { day: "numeric", month: "short" }); } function senderName(msg: MailEnvelope): string { const f = msg.from[0]; return f?.name || f?.address || "Unknown"; } export default function MessageList({ messages, loading, selectedUid, onSelect, onDelete }: { messages: MailEnvelope[]; loading: boolean; selectedUid: number | null; onSelect: (uid: number) => void; onDelete: (uid: number) => void; }) { const dict = useDictionary(); const params = useParams(); const lang = (params.lang as string) || "en"; if (loading) { return
; } if (messages.length === 0) { return (
{dict.mailClient.emptyFolder || "Bu klasör boş"}
); } return (
{messages.map((m) => (
onSelect(m.uid)} >
{senderName(m)[0]?.toUpperCase() ?? "?"}
{senderName(m)} {timeAgo(m.date, lang)}
{m.subject || dict.mailClient.noSubject || "(Konu Yok)"}
{m.hasAttachments && 📎}
))}
); }