import type { LucideIcon } from "lucide-react"; import { AlertTriangle, Bell, Clock, Inbox, MessageSquare, ShieldAlert, Wrench, X, } from "lucide-react"; import { Text } from "@/components/ui/text"; import type { NotificationItem } from "@/domain/notifications/types/notification-feed"; import { isDismissable } from "@/domain/notifications/utils/visible-notification-sections"; const REASON_ICONS: Record = { "severity-critical": AlertTriangle, sla: AlertTriangle, mentions: MessageSquare, unassigned: Inbox, "due-soon": Clock, "no-vendor": Wrench, "aveta-missing": ShieldAlert, activity: MessageSquare, "vendor-conflict": Wrench, }; type NotificationRowProps = { item: NotificationItem; unread: boolean; onOpen: (item: NotificationItem) => void; onDismiss: (item: NotificationItem) => void; }; export function NotificationRow({ item, unread, onOpen, onDismiss }: NotificationRowProps) { const Icon = REASON_ICONS[item.reason] ?? Bell; return (
  • {isDismissable(item) && ( )}
  • ); }