"use client"; interface SourceChipProps { url?: string; domain?: string; } function extractDomain(input?: string) { if (!input) return ''; try { const d = input.includes('://') ? new URL(input).hostname : input; return d.replace(/^www\./, ''); } catch { return input.replace(/^www\./, ''); } } export default function SourceChip({ url, domain }: SourceChipProps) { const d = extractDomain(domain || url); const favicon = d ? `https://icons.duckduckgo.com/ip3/${d}.ico` : ''; return ( {d ? ( // eslint-disable-next-line @next/next/no-img-element { (e.currentTarget as HTMLImageElement).style.display = 'none'; }} style={{ borderRadius: 2 }} /> ) : null} {d || 'source'} ); }