{item.title}
事件详情
{item.detail}
import { useEffect, useRef } from 'react';
import { Bell, CheckCircle2, Info, Trash2, TriangleAlert, XCircle } from 'lucide-react';
import { Badge, IconButton, Popover } from '../../components/ui';
export interface WorkbenchNotification {
id: number;
title: string;
/** 通知中心/诊断抽屉中的完整技术详情。 */
detail?: string;
/** Toast 使用的一行摘要,避免把日志常驻在视口上。 */
message?: string;
category?: 'import' | 'compile' | 'runtime' | 'system';
tone: 'success' | 'warning' | 'danger' | 'info';
at: number;
}
const icons = { success: CheckCircle2, warning: TriangleAlert, danger: XCircle, info: Info };
export function NotificationCenter({
items,
onDismiss,
onClear,
onOpenLog,
}: {
items: WorkbenchNotification[];
onDismiss: (id: number) => void;
onClear: () => void;
onOpenLog?: () => void;
}) {
return (
{item.detail}
当前没有通知通知
{item.title}
事件详情
{item.title}
{(item.message ?? item.detail) && ({item.message ?? item.detail}
)}