"use client"; import { XCircle, Zap, Settings, ExternalLink } from "lucide-react"; import { cn } from "@/lib/utils"; import { formatDate } from "@/lib/utils"; import type { NotificationItem as NotificationItemType } from "@/lib/notifications"; interface NotificationItemProps { notification: NotificationItemType; onMarkRead: (id: string) => void; } const CATEGORY_CONFIG = { error: { icon: XCircle, iconColor: "text-red-400", bgColor: "bg-red-500/10", }, activity: { icon: Zap, iconColor: "text-brand-400", bgColor: "bg-brand-500/10", }, system: { icon: Settings, iconColor: "text-surface-400", bgColor: "bg-surface-700/40", }, } as const; export function NotificationItem({ notification, onMarkRead }: NotificationItemProps) { const config = CATEGORY_CONFIG[notification.category]; const Icon = config.icon; const handleClick = () => { if (!notification.read) { onMarkRead(notification.id); } }; const content = (
{notification.title}
{notification.description}
{formatDate(notification.createdAt)}