import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { ArrowLeft, FileSpreadsheet, Plus, Pencil } from 'lucide-react' import { api } from '../utils/api' const MODULE_LABEL = { nutrition: 'Ernährung', weight: 'Gewicht', blood_pressure: 'Blutdruck', activity: 'Aktivität', } export default function AdminCsvTemplatesPage() { const [templates, setTemplates] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) const [filterModule, setFilterModule] = useState('') useEffect(() => { let ok = true setLoading(true) setError(null) api .adminListCsvTemplates(filterModule || null) .then((d) => { if (ok) setTemplates(d.templates || []) }) .catch((e) => { if (ok) setError(e.message) }) .finally(() => { if (ok) setLoading(false) }) return () => { ok = false } }, [filterModule]) return (
Systemweite Vorlagen für den Universal-CSV-Import. Neue Vorlagen entstehen aus einer Beispiel-CSV inkl. Spaltenzuordnung — analog zur Import-Seite.
{t.delimiter} · Spalten-Signatur:{' '}
{(t.column_signature || []).length} Felder