/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import { Card, Tag, Timeline, Empty } from '@douyinfe/semi-ui'; import { Bell } from 'lucide-react'; import { marked } from 'marked'; import { IllustrationConstruction, IllustrationConstructionDark, } from '@douyinfe/semi-illustrations'; import ScrollableContainer from '../common/ui/ScrollableContainer'; const AnnouncementsPanel = ({ announcementData, announcementLegendData, CARD_PROPS, ILLUSTRATION_SIZE, t, }) => { return (
{t('系统公告')} {t('显示最新20条')}
{/* 图例 */}
{announcementLegendData.map((legend, index) => (
{legend.label}
))}
} bodyStyle={{ padding: 0 }} > {announcementData.length > 0 ? ( {announcementData.map((item, idx) => { const htmlExtra = item.extra ? marked.parse(item.extra) : ''; return ( ) : null } >
); })} ) : (
} darkModeImage={ } title={t('暂无系统公告')} description={t('请联系管理员在系统设置中配置公告信息')} />
)} ); }; export default AnnouncementsPanel;