import type { Route } from './+types/route'
import { Suspense } from 'react'
import { Await, useSearchParams } from 'react-router'
import { cloudflareContext } from '@repo/auth/context'
import { DataTable } from '@repo/ui/components/data-table'
import { SearchForm } from '@repo/ui/components/search-form'
import { Skeleton } from '@repo/ui/components/skeleton'
import { Kbd } from '@repo/ui/components/ui/kbd'
import { createSearch } from '@repo/util/meili'
import { columns, type Org } from './columns'
export function meta({}: Route.MetaArgs) {
return [{ title: 'Empresas' }]
}
export async function loader({ context, request }: Route.LoaderArgs) {
const cloudflare = context.get(cloudflareContext)
const { searchParams } = new URL(request.url)
const query = searchParams.get('q') || ''
const page = Number(searchParams.get('p')) + 1
const hitsPerPage = Number(searchParams.get('perPage')) || 25
const orgs = createSearch({
index: 'betaeducacao-prod-users_d2o3r5gmm4it7j',
sort: ['createDate:desc', 'create_date:desc'],
filter: 'cnpj EXISTS',
query,
page,
hitsPerPage,
env: cloudflare.env
})
return { data: orgs }
}
export default function Route({ loaderData: { data } }: Route.ComponentProps) {
const [searchParams, setSearchParams] = useSearchParams()
return (