import React from 'react'; import type { CompetitorSnapshot } from '../../service/visibility/visibility.interface'; import { faviconUrlFor } from './helpers'; const TOP_N = 3; interface TopCompetitorsHighlightProps { competitors: CompetitorSnapshot[]; } /** * Hero strip for the top {@link TOP_N} competitors of the week. Renders * each as a card with a favicon, name, domain, and SOV badge. */ const TopCompetitorsHighlight = ({ competitors, }: TopCompetitorsHighlightProps): JSX.Element | null => { const top = competitors.slice(0, TOP_N); if (top.length === 0) { return null; } return (

Top competitors this week

{top.map(competitor => { const displayName = competitor.competitor_name || competitor.competitor_domain; return (
{ (event.currentTarget as HTMLImageElement).style.visibility = 'hidden'; }} />
{displayName} {competitor.competitor_domain} {competitor.share_of_voice}% SOV
); })}
); }; export default TopCompetitorsHighlight;