Melissa: hub Configuracoes + Embed + 9 Pages novas + dialog blueprint dark

Sprints 04-29 + 04-30 acumuladas.

- MelissaConfiguracoes: hub 2-col com 6 grupos (Layout/Conta/Agenda/
  Financeiro/WhatsApp/Sistema), tudo embedado via MelissaEmbed.
- MelissaEmbed: wrapper generico que injeta layout-variant=melissa
  e remove cromos pra reaproveitar Pages tradicionais.
- 9 Melissa Pages novas: CadastrosRecebidos, Compromissos, Configuracoes,
  Conversas, Embed, Grupos, Medicos, Recorrencias, Tags.
- Dialog blueprint atualizado: bg-gray-100 (hardcoded light) ->
  bg-[var(--surface-ground)] (tema-aware). 22 dialogs migrados em
  9 arquivos. Anti-pattern documentado.
- PatientsCadastroPage: bug fix dropdown Grupo (optionLabel nome->name),
  toggle vertical/abas com persist localStorage, sticky margin-top.
- Surface picker no popover do MelissaLayout (8 swatches).
- useTopbarPlanMenu, useMelissaWhatsapp, useMelissaPacientesAside novos.
- Migration: status agenda remarcado/confirmado.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leonardo
2026-05-04 11:41:19 -03:00
parent 269c380d9c
commit 86311ef305
52 changed files with 16214 additions and 1027 deletions
@@ -0,0 +1,20 @@
-- ==========================================================================
-- Agencia PSI — Migracao: status_evento_agenda + remarcado + confirmado
-- ==========================================================================
-- O enum tinha so {agendado, realizado, faltou, cancelado, remarcar}, mas
-- o codigo e o trigger fn_notify_agenda_status_change (migration 20260423000009)
-- referenciam 'remarcado' (state pos-remarcacao) e 'confirmado' (paciente
-- confirmou presenca). Tentativas de UPDATE com esses valores falhavam com
-- 'invalid input value for enum status_evento_agenda'.
--
-- ADD VALUE IF NOT EXISTS e idempotente. Dados existentes (status='remarcar')
-- continuam validos — esses dois valores sao acrescimo, nao substituicao.
--
-- Refs:
-- - src/features/agenda/pages/AgendaTerapeutaPage.vue:1339 (bloqueio por feriado)
-- - src/features/agenda/services/agendaMappers.js:246,256 (cor/icone)
-- - migration 20260423000009 (trigger de notificacao)
-- ==========================================================================
ALTER TYPE public.status_evento_agenda ADD VALUE IF NOT EXISTS 'remarcado';
ALTER TYPE public.status_evento_agenda ADD VALUE IF NOT EXISTS 'confirmado';