import Link from "next/link"; import { Card } from "@/components/ui/Card"; import { Badge } from "@/components/ui/Badge"; import type { GeneratedWeeklyPlan } from "@/lib/types"; interface PlanCardProps { plan: GeneratedWeeklyPlan; } function formatDate(dateStr: string): string { const date = new Date(dateStr + "T00:00:00"); return date.toLocaleDateString("en-US", { month: "short", day: "numeric" }); } function getStatusVariant( status: string ): "success" | "warning" | "error" | "default" { switch (status) { case "completed": return "success"; case "pending": return "warning"; case "failed": return "error"; default: return "default"; } } export function PlanCard({ plan }: PlanCardProps) { const workoutDays = plan.generated_workouts.filter((w) => !w.is_rest_day); const dateRange = `${formatDate(plan.week_start_date)} - ${formatDate(plan.week_end_date)}`; return (

{dateRange}

{plan.status}
{workoutDays.length} workout{workoutDays.length !== 1 ? "s" : ""} {plan.generation_time_ms}ms
); }