import Link from "next/link"; import { Pin } from "lucide-react"; import type { PostListItem } from "@/lib/api"; import Avatar from "./Avatar"; import { IconComment, IconEye } from "./Icons"; function formatTime(dateStr: string) { const d = new Date(dateStr); return `${d.getFullYear()}.${String(d.getMonth() + 1).padStart(2, "0")}.${String( d.getDate() ).padStart(2, "0")}`; } /** * 管理员置顶区:独立于普通帖子列表。 * 陶土色语义(与 badge-pin 一致),紧凑排列,一眼识别为公告性质内容。 */ export default function PinnedPosts({ posts, showBoard = true, }: { posts: PostListItem[]; showBoard?: boolean; }) { if (posts.length === 0) return null; return (

置顶讨论

管理员置顶 · {posts.length}
{posts.map((p, i) => ( 0 ? { borderTop: "1px solid var(--line)" } : undefined} >

{p.title}

{p.user.nickname} · {formatTime(p.created_at)} {showBoard && ( <> · {p.board.name} )} {p.recommended && 推荐}
{p.comment_count} {p.view_count}
))}
); }