import { Fragment } from 'react' import { Trash2Icon, PlusIcon, CircleQuestionMarkIcon } from 'lucide-react' import { useForm, useFieldArray, Controller, useWatch } from 'react-hook-form' import { useParams } from 'react-router' import { ErrorMessage } from '@hookform/error-message' import { zodResolver } from '@hookform/resolvers/zod' import { Form } from '@repo/ui/components/ui/form' import { InputGroup, InputGroupInput } from '@repo/ui/components/ui/input-group' import { Button } from '@repo/ui/components/ui/button' import { Separator } from '@repo/ui/components/ui/separator' import { HoverCard, HoverCardContent, HoverCardTrigger } from '@repo/ui/components/ui/hover-card' import { MAX_ITEMS, type Course, type User } from '../_.$orgid.enrollments.add/data' import { ScheduledForInput } from '../_.$orgid.enrollments.add/scheduled-for' import { Cell } from '../_.$orgid.enrollments.add/route' import { CoursePicker } from '../_.$orgid.enrollments.add/course-picker' import { UserPicker } from '../_.$orgid.enrollments.add/user-picker' import { Kbd } from '@repo/ui/components/ui/kbd' const emptyRow = { user: undefined, course: undefined, scheduled_for: undefined } type AssignedProps = { courses: Promise<{ hits: Course[] }> } export function Assigned({ courses }: AssignedProps) { const { orgid } = useParams() const form = useForm({ // resolver: zodResolver(formSchema), defaultValues: { enrollments: [emptyRow] } }) const { formState, control, handleSubmit } = form const { fields, insert, remove, append } = useFieldArray({ control, name: 'enrollments' }) const items = useWatch({ control, name: 'enrollments' }) const onSearch = async (search: string) => { const params = new URLSearchParams({ q: search }) const r = await fetch(`/${orgid}/users.json?${params.toString()}`) const { hits } = (await r.json()) as { hits: User[] } return hits } const onSubmit = async (data: any) => { console.log(data) } return (
) } const currency = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' })