fix
This commit is contained in:
@@ -81,6 +81,11 @@ export function meta({}: Route.MetaArgs) {
|
|||||||
return [{ title: 'Adicionar matrícula' }]
|
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) {
|
export async function loader({ params, context, request }: Route.LoaderArgs) {
|
||||||
const url = new URL(request.url)
|
const url = new URL(request.url)
|
||||||
const submissionId = url.searchParams.get('submission')
|
const submissionId = url.searchParams.get('submission')
|
||||||
@@ -93,7 +98,7 @@ export async function loader({ params, context, request }: Route.LoaderArgs) {
|
|||||||
env: cloudflare.env
|
env: cloudflare.env
|
||||||
})
|
})
|
||||||
|
|
||||||
const submission = submissionId
|
const submission: Promise<{ enrolled: Enrolled[] }> = submissionId
|
||||||
? req({
|
? req({
|
||||||
url: `/orgs/${params.orgid}/enrollments/${submissionId}/submitted`,
|
url: `/orgs/${params.orgid}/enrollments/${submissionId}/submitted`,
|
||||||
context,
|
context,
|
||||||
@@ -136,7 +141,7 @@ export default function Route({
|
|||||||
resolver: zodResolver(formSchema),
|
resolver: zodResolver(formSchema),
|
||||||
defaultValues: { enrollments: [emptyRow] }
|
defaultValues: { enrollments: [emptyRow] }
|
||||||
})
|
})
|
||||||
const { formState, control, handleSubmit, getValues, reset } = form
|
const { formState, control, handleSubmit, getValues, setValue } = form
|
||||||
const { fields, insert, remove, append } = useFieldArray({
|
const { fields, insert, remove, append } = useFieldArray({
|
||||||
control,
|
control,
|
||||||
name: 'enrollments'
|
name: 'enrollments'
|
||||||
@@ -173,12 +178,13 @@ export default function Route({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
reset({
|
setValue(
|
||||||
enrollments: enrolled
|
'enrollments',
|
||||||
|
enrolled
|
||||||
.filter(({ status }) => status === 'fail')
|
.filter(({ status }) => status === 'fail')
|
||||||
.map(({ input_record }) => pick(['course', 'user'], input_record))
|
.map(({ input_record }) => pick(['course', 'user'], input_record))
|
||||||
})
|
)
|
||||||
}, [enrolled, reset])
|
}, [enrolled, setValue])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-2.5">
|
<div className="space-y-2.5">
|
||||||
|
|||||||
Reference in New Issue
Block a user