import { Box, Button, Chip, Stack, Typography } from "@mui/material"; import Grid from "@mui/material/Grid"; import { WgerContainerRightSidebar } from "@/core/ui/Widgets/Container"; import { RenderLoadingQuery } from "@/core/ui/Widgets/RenderLoadingQuery"; import { MuscleOverview } from "@/components/Muscles/MuscleOverview"; import { useRoutineDetailQuery } from "@/components/Routines/queries"; import { RoutineDetailDropdown } from "@/components/Routines/widgets/RoutineDetailDropdown"; import { DayDetailsCard } from "@/components/Routines/widgets/RoutineDetailsCard"; import i18n from "@/i18n"; import React from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; import { dateToLocale } from "@/core/lib/date"; import { makeLink, WgerLink } from "@/core/lib/url"; export const RoutineDetail = () => { const { t } = useTranslation(); const params = useParams<{ routineId: string }>(); const routineId = parseInt(params.routineId ?? ''); if (Number.isNaN(routineId)) { return

Please pass an integer as the routine id.

; } // eslint-disable-next-line react-hooks/rules-of-hooks const routineQuery = useRoutineDetailQuery(routineId); const routine = routineQuery.data; const subtitle = routine !== undefined ? `${dateToLocale(routine!.start)} - ${dateToLocale(routine!.end)} (${routine?.durationText})` : ''; const chip = routine?.isTemplate ? : null; return {routine!.name} {chip}} subTitle={subtitle} optionsMenu={} mainContent={ {routine!.description !== '' && {routine?.description} } {routine!.isTemplate && } {routine!.dayDataCurrentIterationFiltered.map((dayData) => )} } sideBar={ m.isFront)} secondaryMuscles={routine!.secondaryMuscles.filter(m => m.isFront)} isFront={true} /> !m.isFront)} secondaryMuscles={routine!.secondaryMuscles.filter(m => !m.isFront)} isFront={false} /> } />} />; };