From 3a1f9c2b7f6d9b62d20f7df6dcc6def171821148 Mon Sep 17 00:00:00 2001 From: zetaloop Date: Sat, 21 Feb 2026 15:45:20 +0800 Subject: [PATCH] feat: wire post interactions and persist favorites state --- app/(main)/player/[id]/page.tsx | 6 +- app/(main)/post/[id]/page.tsx | 45 +-------------- app/(main)/post/new/page.tsx | 19 +++++-- app/(main)/shop/[id]/page.tsx | 6 +- components/favorite-button.tsx | 35 +++++++++++- components/post-comments.tsx | 99 +++++++++++++++++++++++++++++++++ 6 files changed, 158 insertions(+), 52 deletions(-) create mode 100644 components/post-comments.tsx diff --git a/app/(main)/player/[id]/page.tsx b/app/(main)/player/[id]/page.tsx index 787b720..e2877be 100644 --- a/app/(main)/player/[id]/page.tsx +++ b/app/(main)/player/[id]/page.tsx @@ -76,7 +76,11 @@ export default async function PlayerDetailPage({ params }: { params: Promise<{ i )} - +
diff --git a/app/(main)/post/[id]/page.tsx b/app/(main)/post/[id]/page.tsx index c1a9d57..cf4bdaa 100644 --- a/app/(main)/post/[id]/page.tsx +++ b/app/(main)/post/[id]/page.tsx @@ -2,12 +2,11 @@ import { ArrowLeft, Heart, MessageCircle, Pin, Star } from "lucide-react" import Image from "next/image" import Link from "next/link" import { notFound } from "next/navigation" +import { PostComments } from "@/components/post-comments" 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 { roleLabels } from "@/lib/constants" import { mockComments, mockOrders, mockPlayers, mockPosts } from "@/lib/mock" @@ -112,47 +111,7 @@ export default async function PostDetailPage({ params }: { params: Promise<{ id: -
-

评论 ({comments.length})

- -
-