This commit is contained in:
2025-12-11 23:19:43 -03:00
parent 7a9a3ba543
commit 979ef22126
3 changed files with 36 additions and 12 deletions

View File

@@ -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>&mdash;</span>
<Abbr>{output.course.name}</Abbr>
</li>
) : (
<li className="space-x-1" key={index}>
<Abbr>{input_record.user.name}</Abbr>
<span>&mdash;</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>
)}
<li>
<UserIcon className="size-3.5" /> {created_by.name}
</li>
</ul>
</CardFooter>
</Card>