'use client';
/**
* ReviewCard — 单条待审笔记卡
* 通过(+5) / 打回(-3,必填原因)
*/
import { useState } from 'react';
import { ReviewQueueItem } from '@/types/index';
import { ImageLightbox } from '@/components/tasks/ImageLightbox';
import { ScoreDimBars } from '@/components/tasks/ScoreDimBars';
import { TextLightbox } from '@/components/tasks/TextLightbox';
interface ReviewCardProps {
item: ReviewQueueItem;
onApprove: () => void;
onReject: () => void;
}
export function ReviewCard({ item, onApprove, onReject }: ReviewCardProps) {
const sets = item.selected_sets?.filter((s) => s.selected_text || s.selected_images.length) ?? [];
const [zoomText, setZoomText] = useState<{
content: string;
label?: string;
score?: number;
} | null>(null);
const [zoomImage, setZoomImage] = useState<{ url: string; caption?: string } | null>(null);
return (
{item.product_name}
·
{item.operator_name}
{item.theme}
{sets.length === 0 && item.selected_text && (
)}
{/* 质量分:审核可判断(C2)。合格线80=红线,不用组件默认85 */}
{sets.length === 0 && item.selected_text?.score && (
)}
{sets.length === 0 && item.selected_image && (
)}
{sets.length > 0 && (
{sets.map((set) => (
套{set.strategy}
{set.selected_images.length} 张图
{set.selected_text && (
<>
{set.selected_text.score && (
)}
>
)}
{set.selected_images.length > 0 && (
{set.selected_images.filter(Boolean).map((img) => (
))}
)}
))}
)}
{/* 操作栏 — 飞轮最强信号 */}
setZoomText(null)}
/>
setZoomImage(null)}
/>
);
}
/** 审核列表骨架屏 */
export function ReviewSkeleton() {
return (
{[1, 2, 3].map((i) => (
))}
);
}