From 5b1d73ea43aa7a76f1f571318e5191da498c8cba Mon Sep 17 00:00:00 2001 From: Esdras Renan Date: Thu, 13 Nov 2025 13:04:17 -0300 Subject: [PATCH] =?UTF-8?q?desktop(portal):=20ocultar=20filtros=20avan?= =?UTF-8?q?=C3=A7ados=20(fila/empresa/respons=C3=A1vel)=20para=20colaborad?= =?UTF-8?q?ores=20e=20gestores=20quando=20aberto=20via=20app=20desktop;=20?= =?UTF-8?q?manter=20categoria/status/ordena=C3=A7=C3=A3o/per=C3=ADodo;=20d?= =?UTF-8?q?ocs=20atualizados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/alteracoes-2025-11-13.md | 12 ++ .../portal/portal-ticket-filters.tsx | 109 ++++++++++-------- src/components/portal/portal-ticket-list.tsx | 6 +- 3 files changed, 78 insertions(+), 49 deletions(-) create mode 100644 docs/alteracoes-2025-11-13.md diff --git a/docs/alteracoes-2025-11-13.md b/docs/alteracoes-2025-11-13.md new file mode 100644 index 0000000..fc649ab --- /dev/null +++ b/docs/alteracoes-2025-11-13.md @@ -0,0 +1,12 @@ +Alterações em 13/11/2025 — Portal no app desktop + +- Ocultamos filtros avançados em Portal ▸ Meus chamados quando o acesso vem do app desktop (WebView com sessão de máquina) e o usuário final é `collaborator` ou `manager`. + - Filtros ocultos: Fila, Empresa, Responsável. + - Filtros mantidos: Categoria, Status, Ordenação e Período. +- Implementação: + - `src/components/portal/portal-ticket-filters.tsx`: adicionada prop opcional `hideAdvancedFilters` para suprimir os três filtros mencionados sem quebrar o layout. + - `src/components/portal/portal-ticket-list.tsx`: definimos `hideAdvancedFilters` como `true` quando `machineContext` está presente e a `role` efetiva é `collaborator` ou `manager`. +- Observações: + - A detecção do app desktop usa o `machineContext` carregado via `/api/machines/session` (não foi necessário cookie adicional). + - A mudança afeta somente o portal aberto pelo desktop; no navegador os filtros permanecem inalterados. + diff --git a/src/components/portal/portal-ticket-filters.tsx b/src/components/portal/portal-ticket-filters.tsx index 1a8fa84..97a2630 100644 --- a/src/components/portal/portal-ticket-filters.tsx +++ b/src/components/portal/portal-ticket-filters.tsx @@ -40,6 +40,12 @@ type PortalTicketFiltersProps = { companies: string[] categories: Option[] assignees: Option[] + /** + * Quando verdadeiro, oculta filtros avançados que não devem aparecer para + * usuários finais no app desktop (fila, empresa e responsável). + * Mantemos categoria, status, ordenação e período. + */ + hideAdvancedFilters?: boolean } export function PortalTicketFilters({ @@ -50,6 +56,7 @@ export function PortalTicketFilters({ companies, categories, assignees, + hideAdvancedFilters = false, }: PortalTicketFiltersProps) { const handleChange = (partial: Partial) => { onFiltersChange(partial) @@ -58,38 +65,42 @@ export function PortalTicketFilters({ return (
- - + {!hideAdvancedFilters && ( + + )} + {!hideAdvancedFilters && ( + + )} - + {!hideAdvancedFilters && ( + + )}