import { useState } from 'react'; function SummaryBox({ summary, totalArticles, loading, onResummarize, resummarizeDisabled = false, onGenerateTts, ttsStatus = 'idle', ttsAudioUrl = '', ttsError = '', }) { const [copied, setCopied] = useState(false); const handleCopy = async () => { if (!summary) return; try { await navigator.clipboard.writeText(summary); setCopied(true); window.setTimeout(() => setCopied(false), 2000); } catch { setCopied(false); } }; const renderedSummary = summary ?.split('\n') .map((line) => line.trim()) .filter(Boolean); const hasSummary = renderedSummary?.length > 0; const isGeneratingAudio = ttsStatus === 'queued' || ttsStatus === 'processing'; return (
Đang tạo bản tóm tắt thông minh...
Chọn hoặc tìm kiếm tin tức để tạo bản tóm tắt.
{line}
))}{ttsError}
) : null} {ttsAudioUrl ? (