'use client'; import { api, handleError } from '@/app/_trpc/client'; import { ButtonContainer } from '@/components/button-container'; import { InputWithLabel } from '@/components/forms/input-with-label'; import { Button } from '@/components/ui/button'; import { Calendar } from '@/components/ui/calendar'; import { useAppParams } from '@/hooks/useAppParams'; import { zodResolver } from '@hookform/resolvers/zod'; import { useRouter } from 'next/navigation'; import { Controller, useForm } from 'react-hook-form'; import { toast } from 'sonner'; import type { z } from 'zod'; import { zCreateReference } from '@openpanel/validation'; import { popModal } from '.'; import { ModalContent, ModalHeader } from './Modal/Container'; type IForm = z.infer; export default function AddReference() { const { projectId } = useAppParams(); const router = useRouter(); const { register, handleSubmit, formState } = useForm({ resolver: zodResolver(zCreateReference), defaultValues: { title: '', description: '', projectId, datetime: new Date().toISOString(), }, }); const mutation = api.reference.create.useMutation({ onError: handleError, onSuccess() { router.refresh(); toast('Success', { description: 'Reference created.', }); popModal(); }, }); return (
mutation.mutate(values))} >
); }