import type { Route } from './+types' import { Suspense } from 'react' import { Await, useSearchParams } from 'react-router' 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 c } from './columns' export function meta({}: Route.MetaArgs) { return [{ title: 'Colaboradores' }] } export async function loader({ context, request }: Route.LoaderArgs) { 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 users = createSearch({ index: 'betaeducacao-prod-users_d2o3r5gmm4it7j', sort: ['createDate:desc', 'create_date:desc'], filter: 'cnpj EXISTS', query, page, hitsPerPage, env: context.cloudflare.env }) return { data: users } } export default function Route({ loaderData: { data } }) { const [searchParams, setSearchParams] = useSearchParams() return ( }>

Gerenciar empresas

Adicione colaboradores e organize sua equipe de forma prĂ¡tica.

{({ hits, page, hitsPerPage, totalHits }) => { return (
Digite / para pesquisar } defaultValue={searchParams.get('q') || ''} onChange={(value) => setSearchParams((searchParams) => { searchParams.set('q', String(value)) searchParams.delete('p') return searchParams }) } />
) }}
) }