import { memo, useMemo } from 'react'; import type { FindingRecord } from '../../domain/finding'; import { highlightText } from '../../components/HighlightText/highlight-text'; import { RelatedFindingRing, useRelatedFindings } from '../related-findings/RelatedFindings'; /** Building the complete text belongs exclusively to the Raw Data view. */ export const RawDataView = memo(function RawDataView({ records, raw, filtered, search }: { records: FindingRecord[]; raw: string; filtered: boolean; search: string; }) { const related = useRelatedFindings(); const text = useMemo(() => filtered ? records.map(record => [`# Record ${record.index + 1}`, ...record.fields.filter(field => field.value).map(field => `${field.label}: ${field.value}`)].join('\n')).join('\n\n') : raw, [filtered, raw, records]); return
{highlightText([`# Record ${record.index + 1}`, ...record.fields.filter(field => field.value).map(field => `${field.label}: ${field.value}`)].join('\n'), search)}
{highlightText(text, search)}}