import { useCreateTrainingMutation, useUpdateTrainingMutation } from '../../gql' import { useForm, TextInput, DateTimeInput, Checkbox } from '../../form' import { emptyTraining, prepareDataForDB } from '../utils' import TrainingTypeSelector from './TrainingTypeSelector' 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, updateData] = useUpdateTrainingMutation() return (
{ event.preventDefault() const newValues = prepareDataForDB(values, training || {}) if (!newValues || Object.keys(newValues).length === 0) { console.log('no changes.') return } console.log(newValues) const { id, ...data } = newValues if (id?.startsWith('@@')) { const updateData = await updateTraining({ variables: { where: { id: id.substr(2) }, data }, }) console.log('updated training', updateData) } else if (id.startsWith('@@')) { const createData = await createTraining({ variables: data }) console.log('created training', createData) } }} >
{!values.id.startsWith('++') && (
Training ID: {values.id}
Created at: {values.createdAt}
)}
{(createData.data || updateData.data) && Saved.} {(createData.error || updateData.error) && ( Error saving: {createData.error?.message ?? updateData.error?.message} )}
) } export default EditTraining