'use client' import { InputField, TextareaField, Wrapper } from '@/components' import { CreatePostDocument, PostInput, PostsDocument } from '@/generated/graphql/graphql' import { useAuthenticate } from '@/hooks' import { errorMapper } from '@/utils' import { useMutation, useQuery } from '@apollo/client/react' import { Box, Button, Flex } from '@chakra-ui/react' import { Form, Formik } from 'formik' import { useRouter } from 'next/navigation' const CreatePostPage: React.FC = () => { useAuthenticate() const router = useRouter() const [createPost] = useMutation(CreatePostDocument) const { refetch } = useQuery(PostsDocument) return ( { const response = await createPost({ variables: { input: values } }) const errors = response.data?.createPost.errors if (errors) { setErrors(errorMapper(errors)) } else if (response.data?.createPost.post) { refetch() router.push(`/post/${response.data.createPost.post.id}`) } }} > {({ isSubmitting }) => (
)}
) } export default CreatePostPage