import { notFound } from "next/navigation"; import { AiAnalysisCard } from "@/components/ai-analysis-card"; import { ExerciseProgressChart } from "@/components/exercise-progress-chart"; import { InfoTooltip } from "@/components/info-tooltip"; import { formatDate, formatDateShort } from "@/lib/format"; import { getLatestAnalysisForTarget, serializeAnalysis } from "@/lib/models/analysis"; import { getStrengthWorkout, listStrengthWorkouts } from "@/lib/models/strength"; import { exerciseE1rm, getExerciseHistory } from "@/lib/strength/stats"; export const dynamic = "force-dynamic"; const EXERCISE_HISTORY_LIMIT = 8; export default async function StrengthWorkoutPage({ params, }: { params: Promise<{ id: string }>; }) { const { id } = await params; const workout = await getStrengthWorkout(id); if (!workout) { notFound(); } const analysis = await getLatestAnalysisForTarget("strength", workout._id); const allWorkouts = await listStrengthWorkouts(); const pastWorkouts = allWorkouts.filter((w) => w.date <= workout.date); const exercisesWithHistory = workout.exercises.map((exercise) => ({ exercise, history: getExerciseHistory(exercise.name, pastWorkouts, EXERCISE_HISTORY_LIMIT), })); return (
{formatDate(workout.date)}
{workout.notes ?{workout.notes}
: null}{exercise.name}
{exercise.notes ?{exercise.notes}
: null}