import { useMutation, useQuery } from '@apollo/react-hooks' import { Button, Form, Input, message } from 'antd' import { useForm } from 'antd/lib/form/Form' import { AuthFooter } from 'components/auth/footer' import { AuthLayout } from 'components/auth/layout' import { setAuth } from 'components/with.auth' import { REGISTER_MUTATION, RegisterMutationData, RegisterMutationVariables, RegisterUserData, } from 'graphql/mutation/register.mutation' import { NextPage } from 'next' import Link from 'next/link' import { useRouter } from 'next/router' import React, { useState } from 'react' import { useTranslation } from 'react-i18next' import { ErrorPage } from '../components/error.page' import { SETTINGS_QUERY, SettingsQueryData } from '../graphql/query/settings.query' import scss from './register.module.scss' const Register: NextPage = () => { const { t } = useTranslation() const [form] = useForm() const router = useRouter() const [loading, setLoading] = useState(false) const { data } = useQuery(SETTINGS_QUERY) const [register] = useMutation(REGISTER_MUTATION) const finish = async (data: RegisterUserData) => { setLoading(true) try { const result = await register({ variables: { user: data, }, }) setAuth(result.data.tokens.access, result.data.tokens.refresh) await message.success(t('register:welcome')) await router.push('/') } catch (e) { await message.error(t('register:credentialsAlreadyInUse')) setLoading(false) } } const failed = async () => { await message.error(t('validation:mandatoryFieldsMissing')) } if (data && data.disabledSignUp.value) { return } return (
{'OhMyForm'}
) } export default Register