import { Box, Button, Divider, Typography } from "@mui/material"; import Grid from '@mui/material/Grid'; import { PaddingBox } from "@/components/Exercises/screens/Detail/ExerciseDetails"; import { OverviewCard } from "@/components/Exercises/screens/Detail/OverviewCard"; import { SideGallery, SideVideoGallery } from "@/components/Exercises/screens/Detail/SideGallery"; import { Exercise } from "@/components/Exercises/models/exercise"; import { Language } from "@/components/Exercises/models/language"; import { Muscle } from "@/components/Exercises/models/muscle"; import { Note } from "@/components/Exercises/models/note"; import { MuscleOverview } from "@/components/Muscles/MuscleOverview"; import { useCanContributeExercises } from "@/components/User"; import React from "react"; import { useTranslation } from "react-i18next"; import { dateTimeToLocale } from "@/core/lib/date"; const TranslateExerciseBanner = ({ setEditMode }: { setEditMode: (mode: boolean) => void }) => { const [t] = useTranslation(); return ( {t("exercises.exerciseNotTranslated")} {t("exercises.exerciseNotTranslatedBody")} ); }; export interface ViewProps { exercise: Exercise variations: Exercise[], language: Language, setEditMode: (mode: boolean) => void } export const ExerciseDetailView = ({ exercise, variations, language, setEditMode }: ViewProps) => { const [t] = useTranslation(); const contributeQuery = useCanContributeExercises(); const currentTranslation = exercise.getTranslation(language); const isNewTranslation = language && language.id !== currentTranslation.language; const muscleLegendStyle = { height: '17px', width: '17px', display: 'inline-block', verticalAlign: 'middle', borderRadius: 4, opacity: 0.8, }; return ( {isNewTranslation && contributeQuery.canContribute && } {currentTranslation?.aliases.length > 0 && <>

{t("exercises.alsoKnownAs")}   {currentTranslation?.aliases?.map(e => e.alias).join(", ")}

} {t("exercises.description")}
{currentTranslation?.notes.length > 0 && {t("exercises.notes")}}
    {currentTranslation?.notes.map((note: Note) => (
  • {note.note}
  • ))}
{t("exercises.muscles")}
{t("exercises.primaryMuscles")}
    {exercise.muscles.map((m: Muscle) => (
  • {m.getName()}
  • ))}
{t("exercises.secondaryMuscles")}
    {exercise.musclesSecondary.map((m: Muscle) => (
  • {m.getName()}
  • ))}
{ /* detail detail detail */} {/* This gallery only displays on medium screens upwards */} {variations.length > 0 && {t('exercises.variations')}} {variations.map((variation: Exercise) => )} The content on this page is available under the CC BY-SA 4 License . <> Authors: {exercise.authors.join(", ")}
Last update: {dateTimeToLocale(exercise.lastUpdateGlobal)}
); };