ai insight rework #2

This commit is contained in:
Alberto-Audrix committed 2026-10-01 13:23:45 +07:00
1 parent 9d76f54d33
commit e1987d6999
39 files changed
+2311 -830

No files matched your search

+13 -3
View File
@@ -3,7 +3,12 @@ import { api, ApiError, errorMessage } from '../services/apiClient.ts';
import type { ChickenWeight, LatestAvg } from '../types/api.ts';
import { useFarm } from '../context/FarmContext.tsx';
import { Banner, EmptyFarm, PageHeader, Spinner } from './ui/Feedback.tsx';
import { formatDateId, formatDateRange, formatNumber, resolveCycleStatus } from '../utils/format.ts';
import {
formatDateId,
formatDateRange,
formatNumber,
resolveCycleStatus,
} from '../utils/format.ts';
import { formatWeight } from '../utils/weight.ts';
import { buildWeightInsightContext } from '../utils/insightContextBuilders.ts';
import WeightStats from './weight/WeightStats.tsx';
@@ -204,17 +209,22 @@ const WeightMonitoringPage: React.FC<{ onSettings: () => void }> = ({ onSettings
agg: 'lastValid',
replaces: 'averageWeight',
},
// Target weight exists from day 0; 0 means not set yet
targetBobot_gram: {
field: 'target_gram',
agg: 'lastValid',
agg: 'last',
replaces: 'targetWeight',
emptyAs: 0,
},
// ADG: 0 is valid (no gain yet), use 'last' with emptyAs: 0
pertambahanHarian_gramPerHari: {
field: 'adg_gram_per_hari',
agg: 'lastValid',
agg: 'last',
replaces: 'adg',
emptyAs: 0,
},
},
drop: ['averageWeight', 'targetWeight', 'adg'],
}}
/>
) : (