import type { Route } from './+types/route' import { Suspense } from 'react' import { Await } from 'react-router' import { cloudflareContext } from '@repo/auth/context' import { DataTable } from '@repo/ui/components/data-table' import { Skeleton } from '@repo/ui/components/skeleton' import { createSearch } from '@repo/util/meili' import { MeiliSearchFilterBuilder } from 'meilisearch-helper' import { columns, type Order } from './columns' export function meta({}: Route.MetaArgs) { return [{ title: 'Pagamentos' }] } export async function loader({ context, request }: Route.LoaderArgs) { const cloudflare = context.get(cloudflareContext) const { searchParams } = new URL(request.url) const page = Number(searchParams.get('p')) + 1 const sort = searchParams.get('sort') || 'create_date:desc' const hitsPerPage = Number(searchParams.get('perPage')) || 25 let builder = new MeiliSearchFilterBuilder().where( 'test_mode', 'exists', false ) const payments = createSearch({ index: 'betaeducacao-prod-orders', filter: builder.build(), sort: [sort], page, hitsPerPage, env: cloudflare.env }) return { payments } } export default function Route({ loaderData: { payments } }: Route.ComponentProps) { return ( }>

Pagamentos

{({ hits, page = 1, hitsPerPage, totalHits }) => { return ( ) }}
) }