'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(', ')}
)}
)
}