import './WeeklySummary.css';
function WeeklySummary({
summary,
recommendation,
weekKey,
isCurrentWeek,
weeksOfData,
maxRoutes,
hasPrevWeek,
hasNextWeek,
onPrevWeek,
onNextWeek,
}) {
const hasSessions = summary.session_count > 0;
return (
{isCurrentWeek ? 'This Week' : 'Week'} {weekKey}
{hasSessions ? (
<>
{summary.total_routes}
routes
{summary.total_training_load.toFixed(0)}
training load
{summary.session_count}
sessions
{summary.avg_rpe.toFixed(1)}
avg RPE
{maxRoutes && (
Single Session Cap (30-day max +10%)
Max routes (30d)
{maxRoutes.max_routes}
Next-session guide
{maxRoutes.threshold_routes} routes
)}
Next Week Target (ACWR, {weeksOfData || 1}w avg)
Routes
{recommendation.min_routes} - {recommendation.max_routes}
Training Load
{recommendation.min_load} - {recommendation.max_load}
>
) : (
No sessions logged for this week yet. Add one to see your stats.
)}
);
}
export default WeeklySummary;