import { FormControlLabel, Stack, Switch, Typography } from "@mui/material"; import Grid from '@mui/material/Grid'; import { Routine } from "@/components/Routines/models/Routine"; import { useEditRoutineQuery } from "@/components/Routines/queries/routines"; import React, { useState } from 'react'; import { useTranslation } from "react-i18next"; export const RoutineTemplateForm = (props: { routine: Routine }) => { const { t } = useTranslation(); const editRoutineQuery = useEditRoutineQuery(props.routine.id!); const [isTemplate, setIsTemplate] = useState(props.routine.isTemplate); const [isPublic, setIsPublic] = useState(props.routine.isPublic); const handleSetTemplate = (isTemplate: boolean) => { const newIsPublic = isTemplate && isPublic; setIsTemplate(isTemplate); setIsPublic(newIsPublic); handleSave(isTemplate, newIsPublic); }; const handleSetPublic = (isPublic: boolean) => { const newIsPublic = isPublic && isTemplate; setIsPublic(newIsPublic); handleSave(isTemplate, newIsPublic); }; const handleSave = (isTemplate: boolean, isPublic: boolean) => { const routine = Routine.clone(props.routine); routine.isTemplate = isTemplate; routine.isPublic = isPublic; editRoutineQuery.mutate(routine); }; return ( handleSetTemplate(!isTemplate)} />} label={t('routines.template')} /> {t('routines.templatesHelpText')} handleSetPublic(!isPublic)} />} label={t('routines.publicTemplate')} /> {t('routines.publicTemplateHelpText')} ); };