kodda

ManageListPage

Template de página de listagem para área administrativa com header de ícone, toolbar e DataTable.

Carregando...

Instalação

npx @koddaai/ui add manage-list-page

Dependências kodda: data-table

Importação

import { ManageListPage } from "@/components/kodda/templates/manage-list-page"

Quando usar

Use ManageListPage para páginas de listagem na área administrativa (manage/dashboard):

  • Header com ícone + título + descrição
  • Toolbar com busca, filtros por dropdown, botão de atualizar
  • Tabela de dados com sorting, column visibility, ações por linha
  • Paginação server-side

Para páginas de portal (billing, assinaturas), use o template PortalPage. Para listagens com breadcrumbs e PageHeader, use o template ListPage.

Props

PropTipoDefaultDescrição
iconReactNodeÍcone do header
titlestringTítulo da página
descriptionstringDescrição
headerActionReactNodeAção no header (ex: botão criar)
columnsColumnDef<TData>[]Colunas da tabela
dataTData[]Dados
filterComponentReactNodeFiltros customizados
searchKeystringColuna de busca
searchPlaceholderstringPlaceholder do campo de busca
paginationPaginationConfigPaginação server-side
rowActionsRowAction<TData>[]Ações por linha
onRefresh() => voidCallback para atualizar dados
isLoadingbooleanLoading state
isRefreshingbooleanRefreshing state

Uso

<ManageListPage
  icon={<Users className="h-6 w-6" />}
  title="Clientes"
  description="Todos os clientes de todas as organizações"
  columns={columns}
  data={customers}
  searchKey="name"
  searchPlaceholder="Buscar por nome, email ou CPF/CNPJ..."
  onSearch={handleSearch}
  filterComponent={
    <StatusFilter
      options={statusOptions}
      selected={selectedStatuses}
      onChange={setSelectedStatuses}
    />
  }
  rowActions={[
    { label: "Visualizar", onClick: (row) => navigate(`/customers/${row.id}`) },
  ]}
  pagination={{ page, perPage, total, totalPages }}
  onPageChange={setPage}
  onPerPageChange={setPerPage}
  onRefresh={fetchCustomers}
  isLoading={loading}
/>

On this page