add filter to test_mode
This commit is contained in:
@@ -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()}`)
|
||||
|
||||
Reference in New Issue
Block a user