(false);
const { i18n } = useTranslation();
const navigate = useNavigate();
const languageQuery = useLanguageQuery();
const params = useParams<{ exerciseId: string }>();
const exerciseId = parseInt(params.exerciseId ?? '');
const exerciseQuery = useExerciseQuery(Number.isNaN(exerciseId) ? -1 : exerciseId);
const variationsQuery = useExercisesForVariationQuery(exerciseQuery.data?.variationGroup);
React.useEffect(() => {
if (languageQuery.data === undefined) {
return;
}
// Set the currently selected language
const currentUserLanguage = getLanguageByShortName(
i18n.language,
languageQuery.data!
);
setLanguage(currentUserLanguage!);
}, [languageQuery.data, i18n.language]);
if (Number.isNaN(exerciseId)) {
return Please pass an integer as the exercise id.
;
}
if (exerciseQuery.isError || languageQuery.isError || variationsQuery.isError) {
navigate("/not-found");
return null;
}
const changeUserLanguage = (lang: Language) => {
const language = getLanguageByShortName(
lang.nameShort,
languageQuery.data!
);
if (language !== undefined) {
setLanguage(language);
}
};
const variations = variationsQuery.isSuccess
? variationsQuery.data!.filter((b) => b.id !== exerciseId)
: [];
let out;
if (exerciseQuery.isSuccess && languageQuery.isSuccess) {
out = editMode
?
: ;
}
return (
<>
{
exerciseQuery.isSuccess
&& languageQuery.isSuccess
&&
}
{
exerciseQuery.isLoading
&& languageQuery.isLoading
&&
}
{out}
>
);
};