import { useCreateTrainingMutation, useUpdateTrainingMutation } from '../../gql' import { useForm, TextInput, DateTimeInput, Checkbox } from '../../form' import { emptyTraining, emptyBlockInstance, prepareDataForDB } from '../utils' import TrainingTypeSelector from './TrainingTypeSelector' import BlockInstanceInputs from './BlockInstanceInputs' import { TTraining } from '../types' import Registrations from './Registrations' import Ratings from './Ratings' import BlockList from './BlockList' import theme from '../../styles/theme' const EditTraining = ({ training }: { training?: TTraining }) => { const { values, touched, onChange, loadData } = useForm(training || emptyTraining()) const [createTraining, createData] = useCreateTrainingMutation() const [updateTraining, updateDate] = useUpdateTrainingMutation() return (
{ event.preventDefault() const newValues = prepareDataForDB(values, training || emptyTraining()) if (!newValues || Object.keys(newValues).length === 0) { console.log('no changes.') return } console.log(newValues) const { id, ...data } = newValues if (id.startsWith('++')) { const createData = await createTraining({ variables: data }) console.log('created training', createData) } else if (id.startsWith('@@')) { const updateData = await updateTraining({ variables: { where: { id: id.substr(2) }, data }, }) console.log('updated training', updateData) } }} >
{!values.id.startsWith('++') && (
Training ID: {values.id},
Created at: {values.createdAt}
)} {createData.data && Saved.} {createData.error && Error saving: {createData.error.message}}
) } export default EditTraining