'use client' import { useState } from 'react' import Link from 'next/link' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/Card' import { Button } from '@/components/ui/Button' import { SuccessTag, PendingTag, WarningTag, ErrorTag } from '@/components/ui/Tag' import { FileText, Video, Search, Filter, Clock, User, AlertTriangle, ChevronRight } from 'lucide-react' // 模拟脚本待审列表 const mockScriptTasks = [ { id: 'script-001', title: '夏日护肤推广脚本', creatorName: '小美护肤', projectName: 'XX品牌618推广', aiScore: 88, submittedAt: '2026-02-06 14:30', hasHighRisk: false, }, { id: 'script-002', title: '新品口红试色脚本', creatorName: '美妆Lisa', projectName: 'XX品牌618推广', aiScore: 72, submittedAt: '2026-02-06 12:15', hasHighRisk: true, }, { id: 'script-003', title: '健身器材推荐脚本', creatorName: '健身教练王', projectName: 'XX运动品牌', aiScore: 95, submittedAt: '2026-02-06 10:00', hasHighRisk: false, }, ] // 模拟视频待审列表 const mockVideoTasks = [ { id: 'video-001', title: '夏日护肤推广', creatorName: '小美护肤', projectName: 'XX品牌618推广', aiScore: 85, duration: '02:15', submittedAt: '2026-02-06 15:00', hasHighRisk: false, }, { id: 'video-002', title: '新品口红试色', creatorName: '美妆Lisa', projectName: 'XX品牌618推广', aiScore: 68, duration: '03:42', submittedAt: '2026-02-06 13:45', hasHighRisk: true, }, ] function ScoreTag({ score }: { score: number }) { if (score >= 85) return {score}分 if (score >= 70) return {score}分 return {score}分 } function TaskCard({ task, type }: { task: typeof mockScriptTasks[0] | typeof mockVideoTasks[0]; type: 'script' | 'video' }) { const href = type === 'script' ? `/agency/review/script/${task.id}` : `/agency/review/video/${task.id}` return (

{task.title}

{task.hasHighRisk && ( 高风险 )}
{task.creatorName}
{task.projectName} {task.submittedAt}
{'duration' in task && (
时长: {task.duration}
)}
) } export default function AgencyReviewListPage() { const [searchQuery, setSearchQuery] = useState('') const [activeTab, setActiveTab] = useState<'all' | 'script' | 'video'>('all') const filteredScripts = mockScriptTasks.filter(task => task.title.toLowerCase().includes(searchQuery.toLowerCase()) || task.creatorName.toLowerCase().includes(searchQuery.toLowerCase()) ) const filteredVideos = mockVideoTasks.filter(task => task.title.toLowerCase().includes(searchQuery.toLowerCase()) || task.creatorName.toLowerCase().includes(searchQuery.toLowerCase()) ) return (
{/* 页面标题 */}

审核台

审核达人提交的脚本和视频

待审核: {mockScriptTasks.length} 脚本 {mockVideoTasks.length} 视频
{/* 搜索和筛选 */}
setSearchQuery(e.target.value)} className="w-full pl-10 pr-4 py-2 border border-border-subtle rounded-lg bg-bg-elevated text-text-primary focus:outline-none focus:ring-2 focus:ring-accent-indigo" />
{/* 任务列表 */}
{/* 脚本待审列表 */} {(activeTab === 'all' || activeTab === 'script') && ( 脚本审核 {filteredScripts.length} 条待审 {filteredScripts.length > 0 ? ( filteredScripts.map((task) => ( )) ) : (

暂无待审脚本

)}
)} {/* 视频待审列表 */} {(activeTab === 'all' || activeTab === 'video') && ( {filteredVideos.length > 0 ? ( filteredVideos.map((task) => ( )) ) : (
)}
)}
) }