reports-table.md

reports-table.md

基本信息

  • 类型: React 组件
  • 路径: ./src/components/admin/reports-table.tsx

功能描述

管理员举报管理表格组件,用于处理用户举报的提示词。支持:

  • 查看举报详情(原因、描述、举报人)
  • 更新举报状态(待处理/已审核/已驳回)
  • 重新上架被隐藏的提示词
  • 恢复已删除的提示词

导出内容

  • ReportsTable - 主组件函数
  • Report - 举报数据类型接口

Props

属性类型说明
reportsReport[]举报数据数组

类型定义

interface Report {
  id: string;
  reason: "SPAM" | "INAPPROPRIATE" | "COPYRIGHT" | "MISLEADING" | "RELIST_REQUEST" | "OTHER";
  details: string | null;
  status: "PENDING" | "REVIEWED" | "DISMISSED";
  createdAt: Date;
  prompt: {
    id: string;
    slug?: string | null;
    title: string;
    isUnlisted?: boolean;
    deletedAt?: Date | null;
  };
  reporter: {
    id: string;
    username: string;
    name: string | null;
    avatar: string | null;
  };
}

依赖

  • react - useState
  • next/navigation - useRouter
  • next-intl - useTranslations, useLocale
  • next/link - Link
  • @/lib/date - formatDistanceToNow
  • @/lib/urls - getPromptUrl
  • @/components/ui/* - Avatar, Badge, Button, DropdownMenu, Table
  • lucide-react - MoreHorizontal, Check, X, Eye, ExternalLink, RotateCcw, ListPlus
  • sonner - toast 通知
← 返回目录