import { ArrowLeft, Heart, MessageCircle, Pin, Star } from "lucide-react" import Link from "next/link" import { notFound } from "next/navigation" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader } from "@/components/ui/card" import { Separator } from "@/components/ui/separator" import { Textarea } from "@/components/ui/textarea" import { mockComments, mockOrders, mockPosts } from "@/lib/mock-data" const roleLabels: Record = { consumer: "玩家", player: "打手", owner: "店主", } export default async function PostDetailPage({ params }: { params: Promise<{ id: string }> }) { const { id } = await params const post = mockPosts.find((p) => p.id === id) if (!post) notFound() const comments = mockComments.filter((c) => c.postId === id) const linkedOrder = post.linkedOrderId ? mockOrders.find((o) => o.id === post.linkedOrderId) : null return (
返回社区
{post.author.nickname[0]}
{post.author.nickname} {roleLabels[post.authorRole]} {post.pinned && }
{new Date(post.createdAt).toLocaleString("zh-CN")}

{post.title}

{post.content}

{post.images.length > 0 && (
{post.images.map((img) => (
图片
))}
)} {linkedOrder && (
关联订单

{linkedOrder.service.title} · {linkedOrder.playerName} · ¥{linkedOrder.totalPrice}

)} {post.tags.length > 0 && (
{post.tags.map((tag) => ( {tag} ))}
)}
{post.commentCount}

评论 ({comments.length})