From a08545fd40d43979c55eaefbb3277840516e1833 Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Thu, 13 Nov 2025 19:50:06 -0300 Subject: [PATCH] Refine tickets filter layout --- src/components/tickets/tickets-filters.tsx | 245 ++++++++++++--------- 1 file changed, 138 insertions(+), 107 deletions(-) diff --git a/src/components/tickets/tickets-filters.tsx b/src/components/tickets/tickets-filters.tsx index 37da284..616749f 100644 --- a/src/components/tickets/tickets-filters.tsx +++ b/src/components/tickets/tickets-filters.tsx @@ -1,7 +1,7 @@ "use client" import { useEffect, useMemo, useState } from "react" -import { IconCalendar, IconFilter, IconRefresh } from "@tabler/icons-react" +import { IconCalendar, IconFilter, IconRefresh, IconSearch } from "@tabler/icons-react" import type { DateRange } from "react-day-picker" import { @@ -31,6 +31,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select" +import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group" type QueueOption = string @@ -146,10 +147,10 @@ function DateRangeButton({ from, to, onChange, className }: DateRangeButtonProps @@ -222,32 +223,47 @@ export function TicketsFilters({ return chips }, [filters, assignees, categories, canUseAdvancedFilters]) + const advancedFiltersCount = Number(Boolean(filters.status)) + Number(Boolean(filters.priority)) + Number(Boolean(filters.channel)) + return (
-
-
-
-
- setPartial({ search: event.target.value })} - className="w-full rounded-xl border-slate-300 bg-white/90" - /> +
+
+
+
+
+ + setPartial({ search: event.target.value })} + className="w-full rounded-2xl border-slate-300 bg-white/95 pl-9" + /> +
-
+
+ setPartial({ dateFrom: from, dateTo: to })} + className="w-full min-w-[200px] rounded-2xl border-slate-300 bg-white/95 text-left text-sm font-semibold text-neutral-700 lg:w-auto" + /> - +

Status

setPartial({ queue: value === ALL_VALUE ? null : value })} - > - - - - - Todas as filas - {queues.map((queue) => ( - - {queue} - - ))} - - +
+ +
)} {canUseAdvancedFilters && ( - +
+ +
)} - - {canUseAdvancedFilters && ( +
+
+ {canUseAdvancedFilters && ( +
+ +
)}
-
- - - setPartial({ dateFrom: from, dateTo: to })} - className="w-full" - /> + + Mais recentes + + + Mais antigos + +