import { Heading, Input, Stack, Textarea } from '@chakra-ui/react'; import { Button } from '@client/components/ui/button'; import { Field } from '@client/components/ui/field'; import { valibotResolver } from '@hookform/resolvers/valibot'; import { createFileRoute, redirect } from '@tanstack/react-router'; import { useForm } from 'react-hook-form'; import * as v from 'valibot'; export const Route = createFileRoute('/new/book')({ component: RouteComponent, beforeLoad: ({ context }) => { if (!context.isAuthenticated) throw redirect({ to: '/' }); } }); function RouteComponent() { return ( New book ); } interface FormValues { title: string; description: string; } function NewBookForm() { const schema = v.pipe( v.object({ title: v.pipe(v.string(), v.nonEmpty('Title is required')), description: v.pipe(v.string(), v.nonEmpty('Password is required')) }) ); const { register, handleSubmit, formState: { errors } } = useForm({ resolver: valibotResolver(schema) }); return (
{})}>