+
{t('inventory.csv.selectFile', 'Choose a CSV file or drag it here')}
+{t('inventory.csv.dragHint', 'Header: material (required), brand, subtype, color_name, rgba, …')}
+ > + )} +{error}
+{w}
+ ))} +| {t('inventory.csv.colRow', 'Row')} | +{t('inventory.csv.colStatus', 'Status')} | +{t('inventory.material', 'Material')} | +{t('inventory.brand', 'Brand')} | +{t('inventory.csv.colColor', 'Color')} | +
|---|---|---|---|---|
| {row.row_number} | +
+
+ {statusIcon(row.status)}
+ {row.status === 'error' && row.reason && (
+ {row.reason}
+ )}
+
+ |
+ {row.material || '—'} | +{row.brand || '—'} | +
+
+ {row.rgba && (
+
+ )}
+ {row.color_name || '—'}
+ {row.resolved_color && !row.cross_material_color && (
+
+
+ |
+
{t('inventory.subtitle')}