import { Formik, Form } from 'formik'
import * as Yup from 'yup'
import { Mutation } from 'react-apollo'
import { adopt } from 'react-adopt'
import { TextInput } from '../../lib/forms'
import { USER_SIGNUP, CURRENT_USER } from './graphql'
const initialValues = {
name: 'Tomi',
email: 'tomi@cvetic.ch',
password: '1234',
passwordAgain: '1234'
}
const validationSchema = Yup.object({
name: Yup.string()
.required('Required')
.max(40, 'Must be 40 characters or less'),
email: Yup.string()
.email('Invalid email address')
.required('Required'),
password: Yup.string()
.min(4, 'Must have at least 8 characters'),
passwordAgain: Yup.string()
.oneOf([Yup.ref('password'), null], 'Passwords must match')
})
async function onSubmit (values, mutation) {
try {
const user = await mutation({ variables: values })
console.log(user)
} catch (error) {
console.log(error)
}
}
const SignupAdoption = adopt({
mutation: ({ render }) => (
{(signup, { data, error, loading }) => render({ signup, data, error, loading, render })}
),
form: ({ mutation, render }) => (
onSubmit(values, mutation)}
>
{render}
)
})
const SignupForm = props => (
{({ form, mutation: { signup, data, error, loading } }) => (
)}
)
export default SignupForm