mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-15 18:53:06 +00:00
- Add q param to demand list URL contract and buildDemandListWhere - Extend demandOmnibox with kind + search chips/suggestions/actions - Search title and leadership contact name (visible list columns) - clearDemandOmnibox drops bar filters but keeps activity deep-link - Unit + int tests; impl plan docs/plans/demandas-omnibox-tipo-busca-impl.md Co-authored-by: Francisco Solla <fsolla@users.noreply.github.com>
2.4 KiB
2.4 KiB
Impl: Demandas — tipo e busca na omnibox
Status: aprovado Atualizado em: 2026-08-02 Issue: #308 Intenção: docs/plans/demandas-omnibox-tipo-busca.md Appetite restante: herdado (~0,5–1 dia eng)
Leitura da intenção
- Outcome: Omnibox de
/campanha/demandasexpõe Tipo + Busca junto do Status; chips coexistentes e removíveis; ausência = sem restrição. - O que NÃO negociar: deep-link
activitycontinua URL-only (fora da omnibox); leader lockdown; sem segunda toolbar; busca só em campos visíveis na lista. - O que reavaliar: B128 preservava
kindnoclearporque era deep-link — com tipo na omnibox,clearzera kind também; mantém sóactivityId.
Abordagem recomendada
flowchart LR
URL[demandListUrl q/kind/status] --> Omnibox[demandOmnibox]
Omnibox --> UI[DemandFilters]
URL --> Where[buildDemandListWhere]
Where --> Loader[loadDemandListPageData]
Opções: A) estender adapter B128 + q na URL · B) busca só client-side · C) novo componente de filtro
Recomendação: A — precedente território (busca) + atividade (tipo); URL canônica B18.
Rejeitadas: B (paginação mentirosa); C (twin).
Componentes / mudanças
demandListUrl.ts:q?: string; parse/serialize;buildDemandListWhere(state).demandOmnibox.ts: seeds/chips/ações parakindeq;clearsemkind, comactivityId.campaignDemandData.ts: usarbuildDemandListWhere.DemandFilters.tsx: copy omnibox (label/placeholder).- Tests: unit adapters + parser
q; intloadDemandListPageDatacomqem título e solicitante.
Migration / access
Sem migration. Access inalterado (overrideAccess: false).
Fases verificáveis
- URL + where + omnibox adapter + unit tests
- UI copy + int test busca
pnpm gate:fast→pnpm push
Rabbit holes / Não escopo
- Busca em description/anexos/histórico
- Filtro omnibox por
activity - Saved filters
Riscos e mitigação
leadership.contact.nameno where: precedente lideranças/apoiadores; int test cobre solicitante.clearquebrava expectativa de kind deep-link: produto agora pede tipo na barra —clearalinha com atividades.
Aceite de engenharia
- Aceite de produto da intenção ainda coberto
- Invariantes AGENTS/engineering-standards
- Testes de domínio previstos (unit/int)
Decision-quality: 5/5