import { LoadingPlaceholder } from "@/core/ui/LoadingWidget/LoadingWidget"; import { WgerContainerFullWidth } from "@/core/ui/Widgets/Container"; import { getLanguageByShortName, Language, useLanguageQuery } from "@/components/Exercises"; import { Slot } from "@/components/Routines/models/Slot"; import { useRoutineDetailQuery } from "@/components/Routines/queries"; import { ProgressionForm } from "@/components/Routines/widgets/forms/ProgressionForm"; import { SlotEntryRoundingField } from "@/components/Routines/widgets/forms/SlotEntryForm"; import { makeLink, WgerLink } from "@/core/lib/url"; import { Typography } from "@mui/material"; import Grid from '@mui/material/Grid'; import React from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; export const SlotProgressionEdit = () => { const { t, i18n } = useTranslation(); const params = useParams<{ routineId: string, slotId: string }>(); const routineId = params.routineId ? parseInt(params.routineId) : -1; const slotId = params.slotId ? parseInt(params.slotId) : -1; const routineQuery = useRoutineDetailQuery(routineId); const languageQuery = useLanguageQuery(); if (routineQuery.isLoading) { return ; } const routine = routineQuery.data!; let language: Language | undefined = undefined; if (languageQuery.isSuccess) { language = getLanguageByShortName( i18n.language, languageQuery.data! ); } let slot: Slot | null = null; for (const day of routine.days) { const foundSlot = day.slots.find((s) => s.id === slotId); if (foundSlot) { slot = foundSlot; break; } } if (slot === null) { return

Slot not found!

; } const iterations = Object.keys(routine.groupedDayDataByIteration).map(Number); return <> {slot.entries.map((slotEntry) => {slotEntry.exercise?.getTranslation(language).name} {t('routines.rounding')} )} ; };