diff --git a/frontend/src/components/CsvAnalysis.jsx b/frontend/src/components/CsvAnalysis.jsx index a7698cb..c33d402 100644 --- a/frontend/src/components/CsvAnalysis.jsx +++ b/frontend/src/components/CsvAnalysis.jsx @@ -90,7 +90,7 @@ function CategoryBucket({ name, notes, colors, isOver, onDrop, onDragOver, onDra // ── Main component ───────────────────────────────────────────────────────────── -export default function CsvAnalysis({ dailyStatusId, onSaved, onSummaryPushed }) { +export default function CsvAnalysis({ dailyStatusId, animal, onSaved, onSummaryPushed }) { // Phase: 'upload' | 'columns' | 'classify' | 'results' const [phase, setPhase] = useState('upload'); @@ -111,7 +111,7 @@ export default function CsvAnalysis({ dailyStatusId, onSaved, onSummaryPushed }) // Classify phase const [rows, setRows] = useState([]); const [uniqueNotes, setUniqueNotes] = useState([]); - const [buckets, setBuckets] = useState(DEFAULT_BUCKETS); + const [buckets, setBuckets] = useState(() => animal?.csv_analysis_config?.buckets ?? DEFAULT_BUCKETS); const [selectedNote, setSelectedNote] = useState(null); const [draggedNote, setDraggedNote] = useState(null); const [overBucket, setOverBucket] = useState(null); @@ -290,7 +290,7 @@ export default function CsvAnalysis({ dailyStatusId, onSaved, onSummaryPushed }) setHeaders([]); setRows([]); setUniqueNotes([]); - setBuckets(DEFAULT_BUCKETS); + setBuckets(animal?.csv_analysis_config?.buckets ?? DEFAULT_BUCKETS); setResults(null); setSavedAnalysisId(null); setSummaryPushed(false); diff --git a/frontend/src/pages/DailyStatusDetail.jsx b/frontend/src/pages/DailyStatusDetail.jsx index c645777..6ecd724 100644 --- a/frontend/src/pages/DailyStatusDetail.jsx +++ b/frontend/src/pages/DailyStatusDetail.jsx @@ -699,6 +699,7 @@ export default function DailyStatusDetail() { {/* CSV Analysis — after past analyses */} setAnalyses((prev) => [saved, ...prev])} onSummaryPushed={(summary) => setStatus((prev) => ({ ...prev, analysis_summary: { ...summary, computed_at: new Date().toISOString() } }))} />