Filter component
(deve ser corrigido pelo Lucas)
Mudanças
Mudei a lógica do compontente ExperienceFilter para seguir o mesmo padrão de desenvolvimento do filtro do admin > experiences > index
Criei um arquivo exportando um objeto das experiencias, validado pelo Zod:
import z from "zod";
import { ApiDefaultFilters } from "./api-default-filters";
export const ExperienceFilters = z.object({
...ApiDefaultFilters.shape,
search: z.string().max(100).optional(),
type: z.string().max(100).optional(),
startDate: z.string().max(100).optional(),
endDate: z.string().max(100).optional(),
});
export type TExperienceFilters = z.infer<typeof ExperienceFilters>;
Como testar
Criar uma rota de teste confirmar se os filtros estão sendo aplicados corretamente
-
Filtro por tipo de experiência: Clique nos botões "Quartos", "Eventos", "Laboratórios" ou "Trilhas". Verifique se apenas experiências do tipo selecionado aparecem na lista.
-
Filtro por data: Selecione uma "Data de Entrada" e/ou "Data de Saída". Verifique se apenas experiências dentro do intervalo de datas aparecem.
-
Filtro por busca: Digite um termo no campo "Buscar..." (ex: "Lab"). Verifique se apenas experiências cujo nome ou descrição contém o termo aparecem.
Acceptance Criteria
- O usuário consegue filtrar experiências por tipo (Quartos, Eventos, Laboratórios, Trilhas)
- O usuário consegue filtrar experiências por intervalo de datas (Data de Entrada e Data de Saída)
- O usuário consegue buscar experiências por nome/descrição no campo de busca
- Os filtros são aplicados automaticamente ao serem alterados, disparando nova requisição à API
- O tipo "Laboratórios" está selecionado por padrão ao carregar o componente
Screenshots da tela/componente desenvolvido
Observações
Talvez tenha faltado algo referente à páginação das experiencias forte abraço
🔄 Sincronizado do GitHub
-
🔗 PR original: https://github.com/AGES-Pro-Mata/frontend/pull/122 -
👤 Autor: @guigs028 -
📅 Criado: 2025-10-10T17:25:01Z -
🔢 ID GitHub: #122 -
🌿 Branches:filter-component→dev -
📊 Estado: closed -
🔀 Mergeable: unknown
Sincronizado automaticamente do GitHub para GitLab AGES