'use client' import { CheckCircle, Circle, AlertTriangle } from 'lucide-react' import { DataPoint, SupportedLanguage, RETENTION_PERIOD_INFO, } from '@/lib/sdk/einwilligungen/types' import { RiskBadge, LegalBasisBadge, Article9Badge } from './DataPointCatalogHelpers' interface DataPointRowProps { dp: DataPoint isSelected: boolean readOnly: boolean language: SupportedLanguage onToggle: (id: string) => void } export function DataPointRow({ dp, isSelected, readOnly, language, onToggle }: DataPointRowProps) { return (
!readOnly && onToggle(dp.id)} > {!readOnly && (
{isSelected ? ( ) : ( )}
)}
{dp.code} {dp.name[language]} {dp.isSpecialCategory && ( )} {dp.isCustom && ( {language === 'de' ? 'Benutzerdefiniert' : 'Custom'} )}

{dp.description[language]}

{language === 'de' ? 'Zweck' : 'Purpose'}: {dp.purpose[language]} {language === 'de' ? 'Loeschfrist' : 'Retention'}:{' '} {RETENTION_PERIOD_INFO[dp.retentionPeriod]?.label[language] || dp.retentionPeriod} {dp.cookieCategory && ( Cookie: {dp.cookieCategory} )}
{(dp.requiresExplicitConsent || dp.isSpecialCategory) && (
{language === 'de' ? 'Ausdrueckliche Einwilligung erforderlich' : 'Explicit consent required'} {dp.legalBasis === 'EXPLICIT_CONSENT' && ( {language === 'de' ? 'Art. 9 Abs. 2 lit. a DSGVO - Separate Einwilligungserklaerung notwendig' : 'Art. 9(2)(a) GDPR - Separate consent declaration required'} )}
)} {dp.thirdPartyRecipients.length > 0 && (
Drittanbieter:{' '} {dp.thirdPartyRecipients.join(', ')}
)}
) }