'use client'; import { useTranslations } from 'next-intl'; import { DetailLabSendBadge } from '@/components/ui/treatment/DetailLabSendBadge'; import { TreatmentTypeBadge } from '@/components/ui/treatment/TreatmentTypeBadge'; import { isDetailTypeSelected } from '@/components/treatment/treatmentDetailRules'; import { treatmentTypeLabelFromCatalog } from '@/components/shared/treatmentTypeDisplay'; import type { TreatmentCatalogEntry } from '@/types/treatment-catalog'; import type { LinkedOrganizationOption, PastTreatmentDetail } from '@/types/treatment'; interface TreatmentDetailSummaryRowProps { detail: PastTreatmentDetail; detailNumber: number; labDependentCodes: Set; treatmentCatalog: TreatmentCatalogEntry[]; orgs?: LinkedOrganizationOption[]; compact?: boolean; } export function TreatmentDetailSummaryRow({ detail, detailNumber, labDependentCodes, treatmentCatalog, orgs, compact = false, }: TreatmentDetailSummaryRowProps) { const t = useTranslations('treatment'); const teeth = detail.teeth.length ? [...detail.teeth].sort().join(', ') : t('teethNone'); const attachmentCount = detail.attachmentMetas?.length ?? 0; return (
{t('detailLabel', { n: detailNumber })} {isDetailTypeSelected(detail) ? ( ) : ( {t('treatmentTypeNotSelected')} )}

{t('teethLabel')} {teeth}

{attachmentCount > 0 && (

{t('detailAttachmentCount', { n: attachmentCount })}

)} {detail.notes?.trim() && (

{detail.notes}

)}
); }