import type { Route } from './+types' import { PlusIcon } from 'lucide-react' import { Suspense } from 'react' import { Await, Link, useSearchParams } from 'react-router' import { DataTable } from '@/components/data-table' import { columns, type User } from './columns' import { SearchForm } from '@repo/ui/components/search-form' import { Skeleton } from '@repo/ui/components/skeleton' import { Button } from '@repo/ui/components/ui/button' import { Kbd } from '@repo/ui/components/ui/kbd' import { createSearch } from '@repo/util/meili' export function meta({}: Route.MetaArgs) { return [ { title: 'Colaboradores' }, { name: 'description', content: 'Adicione colaboradores e organize sua equipe de forma prĂ¡tica' } ] } export async function loader({ params, context, request }: Route.LoaderArgs) { const { searchParams } = new URL(request.url) const { orgid } = params 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: `tenant_id = ${orgid}`, query, page, hitsPerPage, env: context.cloudflare.env }) return { data: users } } export default function Route({ loaderData: { data } }) { const [searchParams, setSearchParams] = useSearchParams() return ( }>

Gerenciar colaboradores

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 }) } />
) }}
) }