"use client" import { useState, useEffect, use } from "react" import { DashboardShell } from "@/components/dashboard-shell" import { DashboardHeader } from "@/components/dashboard-header" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { ArrowLeft, Edit, AlertTriangle, Plus, Download, Loader2 } from "lucide-react" import Link from "next/link" import { AddPrintBatchDialog } from "@/components/home-decor/add-print-batch-dialog" import { ExportCardsDialog } from "@/components/home-decor/export-cards-dialog" import { isSuperUser } from "@/lib/api/auth" import { getHomeDecor } from "@/lib/api/home-decor" import type { HomeDecor } from "@/lib/api/types" export default function HomeDecorDetailPage({ params }: { params: Promise<{ id: string }> }) { const { id } = use(params) const [decor, setDecor] = useState(null) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { const fetchDecor = async () => { try { setLoading(true) setError(null) const data = await getHomeDecor(id) setDecor(data) } catch (err) { console.error("获取家居装饰详情失败:", err) setError(`找不到ID为 ${id} 的家居装饰`) } finally { setLoading(false) } } fetchDecor() }, [id]) if (loading) { return (
加载中...
) } if (error || !decor) { return (

家居装饰不存在

{error || `找不到ID为 ${id} 的家居装饰`}

) } const isPublished = decor.status === "已发布" const printedCount = decor.batchesCount || 0 const activatedCount = decor.activeCardsCount || 0 const activationRate = printedCount > 0 ? Math.round((activatedCount / printedCount) * 100) : 0 return (
{(!isPublished || isSuperUser()) && ( )}
家居装饰详情 批次管理 数据分析
家居装饰预览
{decor.imageUrl && !decor.imageUrl.includes("placeholder") ? ( {decor.name} ) : (
暂无图片
)}
{decor.status || "未发布"}
家居装饰详情

装饰类型

{decor.category || "-"}

稀有度

{decor.rarity || "-"}

发布日期

{decor.publishedAt || "尚未发布"}

激活数量

{activatedCount}

创建日期

{decor.createdAt || "-"}

激活率

{activationRate}%

装饰描述

{decor.description || "暂无描述"}

{isPublished && (

{isSuperUser() ? "该家居装饰已发布,您以超级管理员身份仍可编辑和删除。请谨慎操作。" : "该家居装饰已发布,基本属性不可修改。您仍可以增加印刷数量。"}

)}
印刷批次管理 管理家居装饰卡牌的印刷批次和卡牌ID
批次ID 创建日期 数量 状态 操作
批次数据将从后端加载
批次操作 批量管理卡牌批次
激活数据分析 家居装饰卡牌激活情况统计

激活数据图表将在此显示

地区分布

地区分布图表将在此显示

时间趋势

时间趋势图表将在此显示

) }