'use client' import Link from 'next/link' import { Clock, Users, Mic } from 'lucide-react' import type { Meeting } from '@/lib/mock-data' import { formatDuration } from '@/lib/mock-data' import { cn } from '@/lib/utils' const statusConfig = { pending: { label: '排队中', color: 'text-muted-foreground', dot: 'bg-muted-foreground/60' }, uploading: { label: '上传中', color: 'text-info', dot: 'bg-info' }, transcribing: { label: '转写中', color: 'text-warning', dot: 'bg-warning animate-pulse' }, summarizing: { label: '总结中', color: 'text-warning', dot: 'bg-warning animate-pulse' }, done: { label: '已完成', color: 'text-success', dot: 'bg-success' }, failed: { label: '失败 · 重试', color: 'text-danger', dot: 'bg-danger' }, } export function MeetingCard({ meeting }: { meeting: Meeting }) { const cfg = statusConfig[meeting.status] const time = new Date(meeting.date).toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit', hour12: false, }) const isProcessing = meeting.status === 'transcribing' || meeting.status === 'summarizing' return (
{meeting.summary.preview}