diff --git a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/route.tsx b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/route.tsx index 3624527..21b5d08 100644 --- a/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/route.tsx +++ b/apps/admin.saladeaula.digital/app/routes/_.$orgid.enrollments.add/route.tsx @@ -81,6 +81,11 @@ export function meta({}: Route.MetaArgs) { return [{ title: 'Adicionar matrĂ­cula' }] } +type Enrolled = { + status: 'fail' | 'success' + input_record: { user: any; course: any } +} + export async function loader({ params, context, request }: Route.LoaderArgs) { const url = new URL(request.url) const submissionId = url.searchParams.get('submission') @@ -93,7 +98,7 @@ export async function loader({ params, context, request }: Route.LoaderArgs) { env: cloudflare.env }) - const submission = submissionId + const submission: Promise<{ enrolled: Enrolled[] }> = submissionId ? req({ url: `/orgs/${params.orgid}/enrollments/${submissionId}/submitted`, context, @@ -136,7 +141,7 @@ export default function Route({ resolver: zodResolver(formSchema), defaultValues: { enrollments: [emptyRow] } }) - const { formState, control, handleSubmit, getValues, reset } = form + const { formState, control, handleSubmit, getValues, setValue } = form const { fields, insert, remove, append } = useFieldArray({ control, name: 'enrollments' @@ -173,12 +178,13 @@ export default function Route({ return } - reset({ - enrollments: enrolled + setValue( + 'enrollments', + enrolled .filter(({ status }) => status === 'fail') .map(({ input_record }) => pick(['course', 'user'], input_record)) - }) - }, [enrolled, reset]) + ) + }, [enrolled, setValue]) return (