// pro-kontra-card.jsx — Symmetric Pro/Kontra split card (sharewise USP). // Two columns: Pro (left, green) vs Kontra (right, red). Each item has a count + label. // Replaces the flat "Top arguments" list with something symmetrical and stronger. function ProKontraCard({ t, ticker = 'AMZN', pros, kontras, totalRatings, onRate }) { return (
{/* Header */}
Was spricht für & gegen {ticker}
aus {totalRatings} Bewertungen der Community
{Icon.users(t.textDim, 16)}
{/* Split body */}
{/* Pro column */}
{Icon.check('#fff', 12)}
Pro {pros.reduce((s, p) => s + p.n, 0)}
{pros.map((p, i) => ( ))}
{/* Kontra column */}
Kontra {kontras.reduce((s, k) => s + k.n, 0)}
{kontras.map((k, i) => ( ))}
{/* Footer CTA */}
++
Was meinst du zu {ticker}?
Bewerte mit ++ / + / ? / − / −−
Bewerten {Icon.chevR(t.accent, 14)}
); } // One row inside Pro or Kontra column function ProKontraItem({ t, item, kind }) { const c = kind === 'pro' ? t.up : t.down; return (
{item.label}
{item.n}
); } // Sample data for AMZN const PROKONTRA_AMZN = { totalRatings: 232, pros: [ { label: 'Lohnende Investition > 10% / Jahr', n: 24, pct: 100 }, { label: 'Marktführer oder Top 3', n: 11, pct: 46 }, { label: 'Zukunftsfähiges Geschäftsmodell', n: 11, pct: 46 }, { label: 'Starke Marke', n: 8, pct: 33 }, ], kontras: [ { label: 'Niedrige Dividendenrendite erwartet', n: 4, pct: 100 }, { label: 'Hoher Streubesitz', n: 3, pct: 75 }, { label: 'Bewertung zu hoch', n: 2, pct: 50 }, { label: 'Nachhaltigkeit wenig wichtig', n: 1, pct: 25 }, ], }; Object.assign(window, { ProKontraCard, ProKontraItem, PROKONTRA_AMZN });