# HANDOFF — 2026-04-26 (continuação 2026-04-27: bug Teleport resolvido) Documento de continuidade. **Quando voltar, comece lendo esta página.** Sessão inteira polindo o Layout Melissa: light mode, integração no /profile, Agenda fullscreen, dock taskbar, cadastro de paciente, ações contextuais. --- ## ✅ BUG RESOLVIDO — chip do cronômetro (2026-04-27) **Era:** dois `` (chip cronômetro + dock contextual) com `` interno + `v-if` interno apontando pro mesmo target. O slot do `` colapsava pra comment placeholder VNode quando falsy, e esses placeholders ficavam intercalados no array de children do target — ao patch/reorder, `shouldUpdateComponent` lia `.component.emitsOptions` em nó cujo `.component` foi anulado pelo unmount irmão. Daí `null`. **Fix (pattern oficial Vue):** `` envolvendo ``, não o contrário. Assim o Teleport some/aparece como unidade, sem deixar placeholder no target compartilhado. ```vue ``` Aplicado em `MelissaCronometro.vue:322` e `MelissaAgenda.vue:842`. **Lição persistida:** quando múltiplos Teleports compartilham target, evitar `v-if` dentro do Teleport — coloca o `v-if` no próprio Teleport. --- ## ✅ O que aconteceu hoje (cronologia) ### Manhã — Light mode + /profile - **Light bloom no MelissaLayout** — gradiente Bloom usa CSS vars (`--bloom-c1/c2/base-1/base-2`) que flipam dark/light. Dark: 400/300/950. Light: 200/100/0. Removido `background-image: none !important`. Corrigido branco-em-branco do clock + ψ + psi-kbd. Panels light com 92% opacity. Classe `win11-has-photo` quando upload de foto. - **Layout Melissa em /profile** — 3º card na seção 06 com badge "Em construção" + listras diagonais. Aceita `'melissa'` em `setVariant`/`_loadVariant`/bootstrap. Migration `20260425000001_user_settings_layout_variant_melissa.sql` (já aplicada). **Switch real do app fica pra Fase 5 (A#32 no dev_auditoria_items).** - **Cronômetro/Personalização em light** — trocados `color: white` scoped → `var(--m-text)` em `.mc-select`, `.mc-display`, `.mc-btn--secondary`, `.mc-chip`, `.settings-select`, `.settings-test-btn`. Pílula `psi-kbd` ganhou tokens `--m-kbd-bg/--m-kbd-text` (era `rgba(0,0,0,.65)` hardcoded — em light virava preto sobre preto). Shadow do `.psi-btn` suavizada em light. - **Ícones tons claros** — bloco de overrides em light mapeia `text-{cor}-200/300/400` → `text-{cor}-600` (17 cores Tailwind: emerald, green, amber, purple, blue, sky, cyan, teal, indigo, violet, pink, rose, red, orange, yellow, fuchsia, lime). ### Tarde — Agenda fullscreen - **Cores light na MelissaAgenda** — 12 substituições de `color: white` → `var(--m-text)` semântico. Mantido white em `.mini-cal__day.is-hoje` (bg accent saturado). Avatar do paciente: bg `--m-accent-strong` (translúcido, invisível em light) → `--m-accent` (saturado). Tweaks light: shadow suave na `.ma-page`, eventos do FC com `saturate(140%)` + box-shadow leve, cursor "agora" com glow vermelho. - **Mini-cal funcionalidades** — click no dia pula o FC (`fcApi().gotoDate`), range visível do FC destacado (`is-in-range` via `viewStart/viewEnd`), dots por evento real do mês (`useMelissaEventosRange(miniRangeStart, miniRangeEnd)` separado), até 3 dots por dia. - **Feriados** — `useFeriados` integrado. Cores: nacional=rose, municipal=amber, personalizado=violet. Tooltip combina nome do feriado + count de eventos. Hoje + feriado: ring externo na cor do feriado. Recarrega ao mudar de ano via watch. - **Dias fechados** — `useAgendaSettings.workRules` carregado. `workDowSet` computed. Dias fora da jornada → `is-fechado` (cinza apagado). Mutex com feriado (feriado vence cinza). Fallback seg-sex se sem regras. - **FC central com feriados** — `fcEvents` agora `[...eventosSemana, ...feriadoFcEvents]` (display:'background' amber suave). ### Tarde 2 — Layout estrutural da Agenda - **Card `Hoje` mesclado** — antes 2 cards (stats + sessões). Agora 1 só: header + 4 stats + divider + lista de sessões. Count à direita do header. - **Card Hoje movido pra esquerda** — sai da col 3 (widgets), vai pro topo da col 1 (sidebar pacientes). Modificador `.ma-w--side` com margem + max-height 50vh + lista interna scrollable. - **ProximosFeriadosCard reaproveitado** — entre mini-cal e Hoje na col 3. Override visual (`bg-soft`, `border-color`, `border-radius: 12px`) pra encaixar no glass. ### Noite 1 — Dock + cadastro de paciente - **Dock taskbar** (`.melissa-dock`) — faixa fixa 76px no bottom, transparente, `position:fixed`. ψ desceu pra `bottom: 10px` (centralizado vertical na faixa). Token `--m-dock-h: 76px`. Páginas reservam space via `inset` (`.ma-page` ajustada). **CSS no `