import {
EyeOutlined,
LikeOutlined,
LikeFilled,
UserOutlined,
BankOutlined,
CalendarOutlined,
FileTextOutlined,
SendOutlined,
} from "@ant-design/icons";
import { Button, Typography, Space, Tooltip } from "antd";
import { PostDto, PostStateLabels } from "@nice/common";
import dayjs from "dayjs";
import PostLikeButton from "./detail/PostHeader/PostLikeButton";
import { LetterBadge } from "./LetterBadge";
const { Title, Paragraph, Text } = Typography;
interface LetterCardProps {
letter: PostDto;
}
export function LetterCard({ letter }: LetterCardProps) {
return (
{
window.open(`/${letter.id}/detail`)
}}
className=" cursor-pointer w-full p-6 bg-white rounded-xl group relative overflow-hidden duration-300 hover:-translate-y-1 transition-all ease-in-out "
>
{/* Meta Info */}
{letter.author?.showname || '匿名用户'}
{letter.receivers.some(item => item.department?.name) && (
item.department?.name).filter(Boolean).join(', ')}>
{letter.receivers
.map(item => item.department?.name)
.filter(Boolean)
.slice(0, 2)
.join('、')}
{letter.receivers.filter(item => item.department?.name).length > 2 && ' 等'}
)}
{letter.receivers.some(item => item.showname) && (
item.showname).filter(Boolean).join(', ')}>
{letter.receivers
.map(item => item.showname)
.filter(Boolean)
.slice(0, 2)
.join('、')}
{letter.receivers.filter(item => item.showname).length > 2 && ' 等'}
)}
{dayjs(letter.createdAt).format("YYYY-MM-DD")}
{/* Content Preview */}
{letter.content && (
{letter.content}
)}
{letter.meta.tags.map(tag => (
))}
{/* Badges & Interactions */}
{letter.terms.map(term => (
))}
);
}