import React from 'react'; import { formatDateTime } from '../../utils/formatters'; export default function ExplainEventsSection({ explainTimeline, isOpen, onToggle, availableEventDates, selectedEventDate, onSelectEventDate, eventCategoryCounts, activeEventCategory, onSelectEventCategory, eventCategoryMeta, visibleExplainEvents, }) { return (

关键事件时间线

图上点击事件点可切换对应日期
{explainTimeline.length === 0 ? (
当前还没有可以串起来看的关键事件。
) : !isOpen ? (
关键事件默认收起,需要时再展开查看和筛选。
) : (
{availableEventDates.map((dateKey) => { const isActive = dateKey === selectedEventDate; return ( ); })}
{Object.entries(eventCategoryMeta) .filter(([key]) => (eventCategoryCounts[key] || 0) > 0 || key === 'all') .map(([key, meta]) => { const isActive = key === activeEventCategory; return ( ); })}
{visibleExplainEvents.length === 0 ? (
当前日期下没有符合筛选条件的事件
) : (
{visibleExplainEvents.map((event) => { const accent = event.tone === 'positive' ? '#00C853' : event.tone === 'negative' ? '#FF1744' : '#000000'; const categoryMeta = eventCategoryMeta[event.category] || eventCategoryMeta.other; return (
{categoryMeta.label} {event.title}
{formatDateTime(event.timestamp)}
{event.meta}
{event.body}
); })}
)}
)}
); }