import { Gamepad2, Megaphone, ShoppingBag, Star, Users } from "lucide-react" import Image from "next/image" import Link from "next/link" import { notFound } from "next/navigation" import { FavoriteButton } from "@/components/favorite-button" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { Badge } from "@/components/ui/badge" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Separator } from "@/components/ui/separator" import { mockFavorites, mockPlayers, mockReviews, mockServices, mockShops } from "@/lib/mock" interface PageProps { params: Promise<{ id: string }> } export default async function ShopPage({ params }: PageProps) { const { id } = await params const shop = mockShops.find((s) => s.id === id) if (!shop) { notFound() } const shopPlayers = mockPlayers.filter((p) => p.shopId === shop.id) const playerIds = shopPlayers.map((p) => p.id) const shopServices = mockServices.filter((s) => playerIds.includes(s.playerId)) const shopReviews = mockReviews.filter((r) => playerIds.includes(r.toUserId)) const isFavorited = mockFavorites.some( (f) => f.userId === "u1" && f.targetType === "shop" && f.targetId === shop.id, ) const sortedSections = [...shop.templateConfig.sections] .filter((s) => s.enabled) .sort((a, b) => a.order - b.order) return (
{shop.description}
店长:{shop.owner.nickname}
{shop.owner.bio || "暂无介绍"}
{service.description}
{service.rankRange && ({review.fromUserName}
{review.content}