teqo/src/components/campaign/shell
Francisco Solla 04951f6772 feat(B191): chips de pergunta de abertura no chat Sollinha (curados por papel e viewport)
- src/lib/sollinhaOpeningQuestions.ts: catálogo puro de chips de abertura
  (staff: 4 perguntas ancoradas nas tools atuais; leader: conjunto seguro
  sem tool eleitoral — fail-closed B180)
- ChatChipGroup: primitivo presentacional reutilizável (slot compartilhado
  com o B192)
- role do usuário flui do layout server pelo shell até o context do chat
- slot acima do input renderiza só com conversa vazia (messages 0 + ready);
  tocar envia via sendMessage e os chips somem no primeiro envio
- unit tests do catálogo + e2e (staff desktop 4 / mobile 3 / leader seguro)
2026-08-10 03:49:08 -03:00
..
ai feat(B191): chips de pergunta de abertura no chat Sollinha (curados por papel e viewport) 2026-08-10 03:49:08 -03:00
BiometricEnrollmentToast.tsx Deliver B40: biometric login for /campanha. 2026-07-28 10:59:23 -03:00
campaign-logo.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00
CampaignAppScrollChrome.tsx feat: AI chat 'Sollinha' — campaign data assistant (v1 read-only) 2026-08-04 06:17:31 -03:00
CampaignBottomNav.tsx feat(C102): sem hamburger/sheet de sidebar no mobile staff — navegação pela barra + Mais 2026-08-09 19:13:43 -03:00
CampaignDesktopHeader.tsx fix(C94): draft mirror p/ picks cumulativos no omnibox + simplificações do /simplify 2026-08-09 04:36:02 -03:00
CampaignHomeSearchChromeContext.tsx B106 — optional home search chrome read for wizard unit tests 2026-08-01 18:38:04 +00:00
CampaignIosViewportHeal.tsx fix(B182): PWA iOS — heal do zoom preso do visual viewport no standalone 2026-08-09 18:50:00 -03:00
CampaignMobileTopBar.tsx feat(B184): omnibox mobile sem moldura como padrão das listas (sticky no form, X de limpar no input, salvar filtro no header, cards edge-to-edge) 2026-08-10 03:11:43 -03:00
CampaignNotificationBell.tsx feat(C108): sino de notificações — abrir marca tudo como lido, painel limpo, modal central no desktop 2026-08-10 02:56:20 -03:00
CampaignNotificationBellSlot.tsx D2 — Push + sino in-app para /campanha 2026-07-31 01:51:41 +00:00
CampaignPageChromeContext.tsx feat(C94): agenda omnibox + feed no header/FAB 2026-08-09 04:35:39 -03:00
CampaignPageChromeDisplay.tsx chore: remove orphaned getCampaignScopeLabel and unexported hook 2026-08-02 18:12:43 +00:00
CampaignPageChromeText.tsx feat(C101-ux): agenda mobile — navegação por teclado (região focável) + affordance do tap no título 2026-08-10 00:53:19 -03:00
CampaignPageShell.tsx Pass 2 W4b: zero exports mortos; knip exports/types/enumMembers em ERROR no CI 2026-07-25 15:51:52 -03:00
CampaignQuickActionContext.tsx fix: drop unused quick-action setter hook until B80 2026-07-31 02:34:14 +00:00
CampaignQuickActionContextBridge.tsx B84 — Ações rápidas na vertical Atividades (lista + detalhe) 2026-08-01 04:35:38 +00:00
CampaignQuickActionContextSync.tsx B85 — Ações rápidas no drawer de Demandas (lista + detalhe) 2026-08-01 05:26:12 +00:00
CampaignQuickActionsFab.tsx B126 — FAB de ações rápidas substitui drawer persistente 2026-08-02 18:39:27 +00:00
CampaignQuickActionsHost.tsx fix: raise FAB above AI assistant button on mobile 2026-08-08 12:57:05 -03:00
CampaignQuickActionsOverlay.tsx fix(C94): draft mirror p/ picks cumulativos no omnibox + simplificações do /simplify 2026-08-09 04:36:02 -03:00
CampaignSidebar.tsx feat(C102): sem hamburger/sheet de sidebar no mobile staff — navegação pela barra + Mais 2026-08-09 19:13:43 -03:00
CampaignSidebarViewportDefault.tsx B38: sidebar recolhido em tablet no shell /campanha 2026-07-26 18:40:31 -03:00
CampaignWizardChromeContext.tsx feat(campanha): B168 — desfazer encadeamento automático das ações rápidas do wizard 2026-08-08 14:10:47 -03:00
InstallPwaToast.tsx fix(campanha): share one Drawer across municipalities mobile cards 2026-07-30 17:37:20 -03:00
MunicipalityNavSavedFilters.tsx feat(C102): sem hamburger/sheet de sidebar no mobile staff — navegação pela barra + Mais 2026-08-09 19:13:43 -03:00
nav.ts B164: barra de navegação inferior no mobile para staff 2026-08-08 12:57:05 -03:00
RegisterServiceWorker.tsx Pass 2 W2: components/campaign em subpastas por dominio 2026-07-25 14:52:17 -03:00