From cd3305f1e36b94ddb6aaf4e1c77e833a25bfc9b5 Mon Sep 17 00:00:00 2001 From: rever-tecnologia Date: Wed, 17 Dec 2025 16:27:22 -0300 Subject: [PATCH] feat(tickets): exclui visitas da listagem principal de tickets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Adiciona filtro excludeVisits no estado de filtros - Aplica excludeVisits: true em /tickets e /tickets/resolved - Visitas agora aparecem apenas em /tickets/visits 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/app/tickets/resolved/tickets-resolved-page-client.tsx | 2 +- src/app/tickets/tickets-page-client.tsx | 3 ++- src/components/tickets/tickets-view.tsx | 4 ++++ src/lib/ticket-filters.ts | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/app/tickets/resolved/tickets-resolved-page-client.tsx b/src/app/tickets/resolved/tickets-resolved-page-client.tsx index 295d3bb..e993ae5 100644 --- a/src/app/tickets/resolved/tickets-resolved-page-client.tsx +++ b/src/app/tickets/resolved/tickets-resolved-page-client.tsx @@ -24,7 +24,7 @@ export function TicketsResolvedPageClient() { } >
- +
) diff --git a/src/app/tickets/tickets-page-client.tsx b/src/app/tickets/tickets-page-client.tsx index 441c462..c1ac61f 100644 --- a/src/app/tickets/tickets-page-client.tsx +++ b/src/app/tickets/tickets-page-client.tsx @@ -35,6 +35,7 @@ type TicketsPageClientProps = { } export function TicketsPageClient({ initialFilters }: TicketsPageClientProps = {}) { + const mergedFilters = { excludeVisits: true, ...initialFilters } return ( - + ) diff --git a/src/components/tickets/tickets-view.tsx b/src/components/tickets/tickets-view.tsx index 0ff3fe8..f98a5b3 100644 --- a/src/components/tickets/tickets-view.tsx +++ b/src/components/tickets/tickets-view.tsx @@ -194,6 +194,9 @@ export function TicketsView({ initialFilters }: TicketsViewProps = {}) { if (filters.focusVisits) { working = working.filter((t) => isVisitTicket(t)) } + if (filters.excludeVisits) { + working = working.filter((t) => !isVisitTicket(t)) + } if (filters.categoryId) { working = working.filter((t) => (t.category?.id ?? null) === filters.categoryId) } @@ -219,6 +222,7 @@ export function TicketsView({ initialFilters }: TicketsViewProps = {}) { filters.view, filters.company, filters.focusVisits, + filters.excludeVisits, filters.categoryId, filters.dateFrom, filters.dateTo, diff --git a/src/lib/ticket-filters.ts b/src/lib/ticket-filters.ts index 79c880a..a96168d 100644 --- a/src/lib/ticket-filters.ts +++ b/src/lib/ticket-filters.ts @@ -11,6 +11,7 @@ export type TicketFiltersState = { categoryId: string | null view: "active" | "completed" focusVisits: boolean + excludeVisits: boolean dateFrom: string | null dateTo: string | null sort: "recent" | "oldest" @@ -27,6 +28,7 @@ export const defaultTicketFilters: TicketFiltersState = { categoryId: null, view: "active", focusVisits: false, + excludeVisits: false, dateFrom: null, dateTo: null, sort: "recent",