fix
This commit is contained in:
@@ -307,6 +307,8 @@ def enroll_later(enrollment: Enrollment, context: Context):
|
||||
exc_cls=DeduplicationConflictError,
|
||||
)
|
||||
|
||||
return enrollment
|
||||
|
||||
|
||||
def date_to_midnight(dt: date) -> datetime:
|
||||
return datetime.combine(dt, time(0, 0)).replace(tzinfo=pytz.timezone(TZ))
|
||||
|
||||
@@ -7,7 +7,8 @@ import {
|
||||
CalendarIcon,
|
||||
UserIcon,
|
||||
BanIcon,
|
||||
PlusIcon
|
||||
PlusIcon,
|
||||
XIcon
|
||||
} from 'lucide-react'
|
||||
import { Link } from 'react-router'
|
||||
import { Suspense } from 'react'
|
||||
@@ -46,6 +47,7 @@ import { Skeleton } from '@repo/ui/components/skeleton'
|
||||
import { Await } from 'react-router'
|
||||
import { Abbr } from '@repo/ui/components/abbr'
|
||||
import { Button } from '@repo/ui/components/ui/button'
|
||||
import { Badge } from '@repo/ui/components/ui/badge'
|
||||
|
||||
export function meta({}: Route.MetaArgs) {
|
||||
return [{ title: 'Relatório de matrículas' }]
|
||||
@@ -88,12 +90,13 @@ export default function Route({ loaderData: { data } }: Route.ComponentProps) {
|
||||
</BreadcrumbList>
|
||||
</Breadcrumb>
|
||||
|
||||
<Await resolve={data} errorElement={<NotFound />}>
|
||||
{/*<Await resolve={data} errorElement={<NotFound />}>*/}
|
||||
<Await resolve={data}>
|
||||
{({ enrolled, scheduled, sk, created_by }) => {
|
||||
const succeed = enrolled.filter(
|
||||
const succeed = enrolled?.filter(
|
||||
({ status }) => status === 'success'
|
||||
)
|
||||
const failed = enrolled.filter(({ status }) => status === 'fail')
|
||||
const failed = enrolled?.filter(({ status }) => status === 'fail')
|
||||
|
||||
return (
|
||||
<div className="lg:max-w-4xl mx-auto space-y-2.5">
|
||||
@@ -156,8 +159,25 @@ export default function Route({ loaderData: { data } }: Route.ComponentProps) {
|
||||
</AlertTitle>
|
||||
<AlertDescription>
|
||||
<ul className="list-decimal list-inside">
|
||||
<li>...</li>
|
||||
<li>...</li>
|
||||
{scheduled.map(
|
||||
({ output, input_record, status }, index) =>
|
||||
status === 'success' ? (
|
||||
<li className="space-x-1" key={index}>
|
||||
<Abbr>{output.user.name}</Abbr>
|
||||
<span>—</span>
|
||||
<Abbr>{output.course.name}</Abbr>
|
||||
</li>
|
||||
) : (
|
||||
<li className="space-x-1" key={index}>
|
||||
<Abbr>{input_record.user.name}</Abbr>
|
||||
<span>—</span>
|
||||
<Abbr>{input_record.course.name}</Abbr>
|
||||
<span className=" text-red-500 lowercase">
|
||||
(Agendado anteriormente)
|
||||
</span>
|
||||
</li>
|
||||
)
|
||||
)}
|
||||
</ul>
|
||||
</AlertDescription>
|
||||
</Alert>
|
||||
@@ -174,11 +194,9 @@ export default function Route({ loaderData: { data } }: Route.ComponentProps) {
|
||||
<CalendarIcon className="size-3.5" />
|
||||
{formatted.format(new Date(sk))}
|
||||
</li>
|
||||
{created_by && (
|
||||
<li>
|
||||
<UserIcon className="size-3.5" /> {created_by.name}
|
||||
</li>
|
||||
)}
|
||||
</ul>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { z } from 'zod'
|
||||
import { format } from 'date-fns'
|
||||
|
||||
export const MAX_ITEMS = 50
|
||||
|
||||
@@ -30,7 +31,10 @@ export const enrollment = z.object({
|
||||
offset_days: z.number()
|
||||
})
|
||||
.optional(),
|
||||
scheduled_for: z.date().optional()
|
||||
scheduled_for: z
|
||||
.date()
|
||||
.optional()
|
||||
.transform((date) => (date ? format(date, 'yyyy-MM-dd') : undefined))
|
||||
})
|
||||
|
||||
export const formSchema = z.object({
|
||||
|
||||
Reference in New Issue
Block a user