import React from 'react' import WorldStatusBadge from './WorldStatusBadge' import { trackWorldSourceClick, withWorldSource } from '../../lib/worldAnalytics' function themeStyle(theme) { return { '--world-accent': theme?.accent_color || '#38bdf8', '--world-accent-secondary': theme?.accent_color_secondary || '#0f172a', } } export default function WorldFamilyCard({ family, sourceSurface = '', sourceDetail = '' }) { if (!family) { return null } const currentWorld = family.current_world || null const editionCount = Number(family.edition_count || 0) const archiveCount = Number(family.archive_count || 0) const familyHref = sourceSurface ? withWorldSource(family.public_url, sourceSurface, sourceDetail || 'recurring_family') : family.public_url return (
{family.cover_url ? {family.title} : null}
{archiveCount > 0 ? : null} {currentWorld?.campaign_state_label ? : null}

{family.title}

{family.summary ?

{family.summary}

: null}
{editionCount} editions {Array.isArray(family.years) && family.years.length > 0 ? {family.years.join(' / ')} : null}
trackWorldSourceClick({ worldId: family.current_world?.id || 0, worldTitle: family.title, sourceSurface, sourceDetail: sourceDetail || 'recurring_family' })} className="inline-flex items-center gap-2 rounded-full border border-white/15 bg-white/10 px-4 py-2 text-sm font-semibold text-white transition group-hover:bg-white/15"> Open family
) }