import React, { useEffect, useState } from 'react' import { Link, useNavigate, useParams } from 'react-router-dom' import api from '../utils/api' const API_BASE = (import.meta.env.VITE_API_URL || '').replace(/\/$/, '') function resolveMediaUrl(filePath) { if (!filePath) return null if (filePath.startsWith('http://') || filePath.startsWith('https://')) return filePath const p = filePath.startsWith('/') ? filePath : `/${filePath}` return `${API_BASE}${p}` } function MediaBlock({ media }) { if (media.embed_url) { return (
Laden...
{msg}
{exercise.summary}
)}Fokusbereiche: {chips(exercise.focus_areas)}
Stilrichtungen: {chips(exercise.training_styles)}
Zielgruppen: {chips(exercise.target_groups)}
Altersgruppen:{' '} {(exercise.age_groups || []).length ? exercise.age_groups.join(', ') : '—'}
{exercise.goal}
{exercise.execution}
{exercise.preparation}
> )} {exercise.trainer_notes && ( <>{exercise.trainer_notes}
> )}{v.description}
} {v.execution_changes && ({v.execution_changes}
)}{m.description}
}