diff --git a/src/components/pages/production/uniformity/UniformityChart.tsx b/src/components/pages/production/uniformity/UniformityChart.tsx index 52e7a24b..302d5468 100644 --- a/src/components/pages/production/uniformity/UniformityChart.tsx +++ b/src/components/pages/production/uniformity/UniformityChart.tsx @@ -39,9 +39,8 @@ const UniformityChart = ({ name: range.range, uv: range.bird_count, isIdeal: range.is_ideal_range, - idealCount: range.is_ideal_range - ? weekData.ideal_range.total_ideal_birds - : undefined, + idealRange: range.ideal_range, + outsideRange: range.outside_range, })); }, [chartData]); diff --git a/src/components/pages/production/uniformity/chart/UniformityBarChart.tsx b/src/components/pages/production/uniformity/chart/UniformityBarChart.tsx index 9f1f8656..88d0dc59 100644 --- a/src/components/pages/production/uniformity/chart/UniformityBarChart.tsx +++ b/src/components/pages/production/uniformity/chart/UniformityBarChart.tsx @@ -27,7 +27,8 @@ interface BarChartData { name: string; uv: number; isIdeal?: boolean; - idealCount?: number; + idealRange?: string; + outsideRange?: string; } interface UniformityBarChartProps { @@ -40,30 +41,117 @@ function CustomTooltip({ payload, label, active }: CustomTooltipProps) { const chartData = data.payload as BarChartData; const labelStr = String(label); - if (chartData.isIdeal && chartData.idealCount !== undefined) { + // If the range has both ideal and outside ranges (like 340-344) + if (chartData.idealRange && chartData.outsideRange) { + return ( +
+

Uniformity 2025

+
+
+
+
+ Ideal +
+ + {chartData.idealRange} + +
+
+
+
+ Outside +
+ + {chartData.outsideRange} + +
+
+
+ Total Birds: + {payload[0].value} +
+
+
{labelStr}
+
+
+ ); + } + + // If the range has only ideal range + if (chartData.idealRange) { return (

Uniformity 2025

- {chartData.idealCount} of Birds + Ideal
- {labelStr} + {chartData.idealRange} +
+
+
+ Birds: + {payload[0].value} +
+
+
+ {labelStr}
); } + // If the range has only outside range + if (chartData.outsideRange) { + return ( +
+

Uniformity 2025

+
+
+
+ Outside +
+ + {chartData.outsideRange} + +
+
+
+ Birds: + {payload[0].value} +
+
+
+ {labelStr} +
+
+ ); + } + + // Fallback for backward compatibility return (

Uniformity 2025

-
- {payload[0].value} of Birds +
+ + {chartData.isIdeal ? 'Ideal' : 'Outside'} + +
+ {labelStr} +
+
+
+ Birds: + {payload[0].value}
- {labelStr}
); diff --git a/src/types/api/production/uniformity.d.ts b/src/types/api/production/uniformity.d.ts index 239de467..825607d8 100644 --- a/src/types/api/production/uniformity.d.ts +++ b/src/types/api/production/uniformity.d.ts @@ -8,6 +8,8 @@ export type WeightDistributionRange = { max_weight: number; bird_count: number; is_ideal_range: boolean; + ideal_range?: string; + outside_range?: string; }; export type IdealRange = {