import React from 'react'; import { Heart } from 'lucide-react'; import { motion } from 'framer-motion'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; import { TypewriterText } from './common/TypewriterText'; import { ContentCard } from './common/ContentCard'; import { SkeletonCard } from './common/SkeletonCard'; import { IconLoading } from './common/IconLoading'; interface ScriptContent { acts?: Array<{ id: string; stableId: string; title: string; desc: string; beats: string[]; }>; characters?: Array<{ id: string; stableId: string; name: string; role: string; arc: string; desc: string; color: string; }>; dialogue?: { stableId: string; rhythm: string; style: string; }; themes?: Array<{ id: string; stableId: string; theme: string; desc: string; depth: string; }>; dramaticLine?: { stableId: string; points: Array<{ id: string; stableId: string; title: string; desc: string; intensity: number; // 0-100 情感强度 }>; }; } interface ScriptwriterProps { currentContent: ScriptContent; isPlaying: boolean; } const CustomTooltip = ({ active, payload, label }: any) => { if (active && payload && payload.length) { return (
{payload[0].payload.title}
{`情感强度: ${payload[0].value}`}