"use client"; import { NutritionSummary } from "@fitai/shared"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { PieChart, Pie, Cell, ResponsiveContainer, Legend, Tooltip, } from "recharts"; interface NutritionSummaryCardProps { nutrition: { dailySummaries: NutritionSummary[]; averageDailyCalories: number; totalDays: number; daysMetGoal: number; }; } export function NutritionSummaryCard({ nutrition }: NutritionSummaryCardProps) { const goalMetPercentage = nutrition.totalDays > 0 ? Math.round((nutrition.daysMetGoal / nutrition.totalDays) * 100) : 0; const chartData = [ { name: "Days Met Goal", value: nutrition.daysMetGoal, color: "#10b981" }, { name: "Days Over/Under", value: nutrition.totalDays - nutrition.daysMetGoal, color: "#f59e0b", }, ]; return ( Nutrition Summary {/* Summary Stats */}
{nutrition.averageDailyCalories.toLocaleString()}
Avg Daily Calories
{nutrition.totalDays}
Days Tracked
{/* Goal Achievement */}
{goalMetPercentage}%
Days Met Calorie Goal (±10%)
{/* Chart */} {nutrition.totalDays > 0 && (
{chartData.map((entry, index) => ( ))}
)} {/* Recent Days */} {nutrition.dailySummaries.length > 0 && (

Recent Days

{nutrition.dailySummaries .slice(-5) .reverse() .map((day) => (
{day.date} {day.totalCalories.toLocaleString()} /{" "} {day.calorieGoal.toLocaleString()} cal
))}
)}
); }