add filter to test_mode

This commit is contained in:
2026-01-27 10:26:05 -03:00
parent a9d5ba1352
commit 5ca514095a
5 changed files with 233 additions and 60 deletions

View File

@@ -8,7 +8,7 @@ import {
PlusIcon,
Trash2Icon
} from 'lucide-react'
import { Fragment } from 'react'
import { Fragment, useMemo } from 'react'
import { Controller, useFieldArray, useForm } from 'react-hook-form'
import { Link } from 'react-router'
@@ -41,6 +41,7 @@ import { CoursePicker } from '../_.$orgid.enrollments.add/course-picker'
import {
formSchema,
MAX_ITEMS,
type Course,
type User
} from '../_.$orgid.enrollments.add/data'
import {
@@ -55,6 +56,12 @@ export function meta({}: Route.MetaArgs) {
return [{ title: 'Adicionar matrícula' }]
}
type Seat = {
id: string
pk: string
course: Course
}
export async function loader({ request, params, context }: Route.LoaderArgs) {
const seats = await req({
url: `/orgs/${params.orgid}/seats`,
@@ -62,19 +69,12 @@ export async function loader({ request, params, context }: Route.LoaderArgs) {
context
})
.then((r) => r.json() as any)
.then(({ items }) => items)
.then(({ items }) => items as Seat[])
const courses = new Promise((resolve, reject) => {
resolve({
hits: seats.map(({ course }) => ({ metadata__unit_price: 1, ...course }))
})
})
return { seats, courses }
return { seats }
}
export default function Route({
loaderData: { courses }
}: Route.ComponentProps) {
export default function Route({ loaderData: { seats } }: Route.ComponentProps) {
const { orgid } = useParams()
const form = useForm({
resolver: zodResolver(formSchema),
@@ -86,6 +86,26 @@ export default function Route({
name: 'enrollments'
})
const courses = useMemo(
() =>
Promise.resolve({
hits: Array.from(
new Map(
seats.map(({ course }) => [
course.id,
{
...course,
metadata__unit_price: 1
}
]) ?? []
).values()
)
}),
[seats]
)
console.log(seats)
const onSearch = async (search: string) => {
const params = new URLSearchParams({ q: search })
const r = await fetch(`/${orgid}/users.json?${params.toString()}`)