import { Icon } from "./icon"; import { formatRelativeTime } from "../utils/time"; import type { NotificationItem as NotificationItemType } from "../api/notifications"; export interface NotificationItemProps { notification: NotificationItemType; onMarkRead: (id: string) => void; onDismiss: (id: string) => void; } import type { IconName } from "../utils/icons"; const severityIconMap: Record = { info: "info", warning: "warning", error: "error", success: "success", }; export function NotificationItem({ notification, onMarkRead, onDismiss, }: NotificationItemProps) { const isUnread = notification.read_at === null; const iconName = severityIconMap[notification.severity] ?? "info"; return (
  • {notification.title}
    {formatRelativeTime(notification.created_at)}
    {isUnread && ( )}
  • ); }