import { useEffect, useMemo, useState } from 'react' import { Link, useNavigate, useParams } from 'react-router-dom' import { ArrowLeft, FileSpreadsheet, Loader2, Save, Trash2 } from 'lucide-react' import { api } from '../utils/api' import { csvPreviewTdStyle } from '../utils/csvPreviewCells' const MODULE_LABEL = { nutrition: 'Ernährung', weight: 'Gewicht', blood_pressure: 'Blutdruck', activity: 'Aktivität', } function SampleTable({ sampleRows, columns }) { if (!sampleRows?.length || !columns?.length) return null const showCols = columns.slice(0, 8) return (
| {c} | ))}
|---|
| {row[c] ?? '—'} | ))}
Modul bestehender Vorlagen kann nicht geändert werden.
)}Seed: {seedHint.mapping_name} · Vorlage abgedeckt{' '} {Math.round((seedHint.confidence || 0) * 100)} % {seedHint.columns_matched != null && seedHint.columns_in_template != null ? ` (${seedHint.columns_matched}/${seedHint.columns_in_template} Spalten)` : ''} {seedHint.jaccard != null && ( <> {' '} · Jaccard {Math.round(seedHint.jaccard * 100)} % > )}
)} {sampleRows.length > 0 &&Nach CSV-Analyse erscheinen die Zeilen hier.
) : (
{col}
Noch zuzuweisen: {missingRequired.join(', ')}
)}Vom Vorschlag übernommen; bei Bedarf manuell anpassen (z. B. kJ-Faktor, Datumsformat).