'use client'; /* UrlList — inert, copy-only rendering of URLs extracted from a reported * phishing/spam email (REVIEW-03, D-09). * * D-09 is a deliberately STRICTER-than-sanitization posture: extracted URLs * are attacker-controlled content and must never be rendered as anything * clickable. There is no anchor tag with a navigation attribute, no * ``, and no navigating `onClick` anywhere in this file — the only * affordance is copy-to-clipboard via an icon-only button. Do not "improve" * this by adding a real link. */ import { Copy } from 'lucide-react'; import { toast } from 'sonner'; import { Button } from '@/components/ui/button'; interface UrlListProps { urls: string[]; } export function UrlList({ urls }: UrlListProps) { if (urls.length === 0) { return (

No URLs found in this message.

); } async function handleCopy(url: string) { await navigator.clipboard.writeText(url); toast.success('Copied'); } return ( ); }