import React from 'react'; import { useSelector } from 'react-redux'; import { Drawer } from 'antd'; import { CloseOutlined } from '@ant-design/icons'; import { selectIsMobile } from '@store/slices/deviceSlice'; import DynamicNewsDetailPanel from '@components/EventDetailPanel'; import './EventDetailModal.less'; interface EventDetailModalProps { /** 是否打开弹窗 */ open: boolean; /** 关闭弹窗回调 */ onClose: () => void; /** 事件对象 */ event: any; // TODO: 后续可替换为具体的 Event 类型 } // 深色主题颜色 - 比背景亮,形成层次感(使用实色确保覆盖) const GLASS_THEME = { bg: '#2D3748', headerBg: '#3D4A5C', borderColor: 'rgba(255, 255, 255, 0.12)', textColor: '#F7FAFC', secondaryText: '#CBD5E0', }; /** * 事件详情抽屉组件(从底部弹出)- 深色毛玻璃风格 */ const EventDetailModal: React.FC = ({ open, onClose, event, }) => { const isMobile = useSelector(selectIsMobile); return ( } styles={{ wrapper: isMobile ? {} : { maxWidth: 1400, margin: '0 auto', }, mask: { background: 'rgba(0, 0, 0, 0.5)', }, content: { borderRadius: '16px 16px 0 0', background: GLASS_THEME.bg, border: 'none', }, header: { background: GLASS_THEME.headerBg, borderBottom: `1px solid ${GLASS_THEME.borderColor}`, borderRadius: '16px 16px 0 0', }, body: { padding: 0, background: GLASS_THEME.bg, }, }} > {event && } ); }; export default EventDetailModal;