teqo-backup/src/components/campaign
Francisco Solla 448f3845a2 feat(C194): biblioteca de reels na vertical Comunicação (#1153)
Lista publicados-only com capas 9:16, detalhe com player 9:16 e painel de
downloads (vídeo sem áudio primário; com áudio, mp3 e .srt quando existem;
transcrição em texto) e kill switch reversível: despublicar tira da lista e
bloqueia a mídia (C193 decision B), republicar reativa e re-carimba publishedAt.

Fiação: gate communicationCatalog (rename do speechCatalog), 3º sub-item da
vertical no nav, rule da lista no chrome, paths e loader próprios; sem
migration, sem Consent, sem tocar Media.read ou a rota de mídia do C193.

Design tier: DEGRADED — crítica final do designer indisponível no tier
primário (limite de uso); requer sign-off humano antes de push/PR.
2026-09-18 21:54:37 -03:00
..
activity feat(campaign): C165 — importa eventos do Google como atividades sem município (Closes #1010) 2026-09-15 11:54:21 -03:00
advisor feat(campaign): editor de permissão do assessor em modal central (desktop) + bottom drawer (mobile) no lugar do popover (Closes #813) 2026-08-23 20:41:29 -03:00
auth feat(push): opt-in automático e fix do prompt nativo no /campanha 2026-08-10 21:14:56 -03:00
contacts react-audit(famílias 1/6): sortable heads eram client sem interatividade — ContactSortableHead.tsx:1, PeopleSortableHead.tsx:1, LeadershipSortableHead.tsx:1, StateDeputySortableHead.tsx:1 importavam *ListUrl por valor; como server components os serializadores de URL ficam fora do bundle (B14) 2026-08-25 13:40:32 -03:00
dashboard feat(campaign): C142 UI respects advisor permission profile somente_leitura 2026-08-21 23:01:35 -03:00
demand fix(campanha): restaura submitter no FormData do card de demanda (#921) 2026-08-25 21:48:30 -03:00
invite C130: ajustes da tabela desktop de pessoas (contato completo, base sob o nome, caret, tooltips, Dobra em, filtro/ordenação por partido) 2026-08-12 16:01:25 -03:00
leadership react-audit(famílias 1/6): sortable heads eram client sem interatividade — ContactSortableHead.tsx:1, PeopleSortableHead.tsx:1, LeadershipSortableHead.tsx:1, StateDeputySortableHead.tsx:1 importavam *ListUrl por valor; como server components os serializadores de URL ficam fora do bundle (B14) 2026-08-25 13:40:32 -03:00
map B13+: concordância LQ, readout de escopo no mapa e DRY do build de agregados. 2026-07-29 16:26:43 -03:00
municipality feat(B202): totais do recorte no rodapé da lista de municípios (Closes #1005) 2026-09-15 07:37:45 -03:00
organization fix(campaign): C140 — manual dispatch in 18 forms prevents React 19 form reset on error 2026-08-23 17:54:19 -03:00
people react-audit(famílias 1/6): sortable heads eram client sem interatividade — ContactSortableHead.tsx:1, PeopleSortableHead.tsx:1, LeadershipSortableHead.tsx:1, StateDeputySortableHead.tsx:1 importavam *ListUrl por valor; como server components os serializadores de URL ficam fora do bundle (B14) 2026-08-25 13:40:32 -03:00
reels feat(C194): biblioteca de reels na vertical Comunicação (#1153) 2026-09-18 21:54:37 -03:00
shared feat(C194): biblioteca de reels na vertical Comunicação (#1153) 2026-09-18 21:54:37 -03:00
shell feat(C194): biblioteca de reels na vertical Comunicação (#1153) 2026-09-18 21:54:37 -03:00
speech feat(C194): biblioteca de reels na vertical Comunicação (#1153) 2026-09-18 21:54:37 -03:00
stateDeputy react-audit(famílias 1/6): sortable heads eram client sem interatividade — ContactSortableHead.tsx:1, PeopleSortableHead.tsx:1, LeadershipSortableHead.tsx:1, StateDeputySortableHead.tsx:1 importavam *ListUrl por valor; como server components os serializadores de URL ficam fora do bundle (B14) 2026-08-25 13:40:32 -03:00
suggestion feat(campaign): C142 UI respects advisor permission profile somente_leitura 2026-08-21 23:01:35 -03:00
supporter feat(C112): múltiplos telefones por pessoa — Contact.phones array (ordem = prioridade) 2026-08-11 10:47:02 -03:00
tour fix(campaign): C140 — manual dispatch in 18 forms prevents React 19 form reset on error 2026-08-23 17:54:19 -03:00
votePledge fix(campaign): C140 — manual dispatch in 18 forms prevents React 19 form reset on error 2026-08-23 17:54:19 -03:00