From aa587e849ca7358b07d6d8ebf7923fa0122c5950 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 21 May 2026 09:22:10 -0300 Subject: [PATCH] wiki log: C12 UX iterado + agenda Fase A utils extract Registra os 3 commits da sessao (C12 trocar metodo, C12 filtro cancelled, Fase A utils extract). Memoria project_c12_antecipar_iterar atualizada pra refletir patterns prontos pra Rail/Clinica. Co-Authored-By: Claude Opus 4.7 (1M context) --- Obsidian/Brain/log.md | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Obsidian/Brain/log.md b/Obsidian/Brain/log.md index ce6605b..ca0211f 100644 --- a/Obsidian/Brain/log.md +++ b/Obsidian/Brain/log.md @@ -1355,3 +1355,49 @@ document_templates ou setting tenants.letterhead_html. PROXIMO: NFS-e (#15, esforco L), ยง1.5 Sentry (#18 nao-teste), sweep residual (M4 cutover billing โ€” bloqueado decisoes #2/#3/#6), ou agenda Fase 4 residual. + +## [2026-05-21 night] session | agenda Fase 4: C12 UX iter + utils extract +Touched: none (durable em memoria project_c12_antecipar_iterar atualizada) + +Iniciou agenda Fase 4 residual. Auditoria revelou: popover snapshot +e reverse transition trava JA estavam done de fato (commits f83315b ++ 5684297 durante C11). Pendentes reais: C12 UX, replicacao Rail/ +Clinica, doc ajuda. + +3 commits: + +1) agenda C12 UX: "Trocar metodo" em vez de Revogar+Antecipar + MelissaEventoPanel ganha 2 botoes quando isAntecipacaoAtiva + (antes era so "Revogar"). MelissaLayout: anteciparMode ref + + onTrocarMetodoAntecipacao pre-seleciona metodo atual. confirm + Antecipar Pagamento ramifica: mode='update' faz UPDATE no paid + existente (sem cancel cycle). Result: trocar metodo gera 0 + records cancelled. + +2) agenda C12 UX: filtrar cancelled do dialog Lancamentos + lancamentosShowHistory ref (default false) + lancamentosFiltered + computed. UI: badge "{N} cancelado(s) ocultos" + toggle + Mostrar/Ocultar historico. Cards cancelled atenuados (opacity + 0.55, border-dashed, line-through na desc) quando expandidos. + Combina com Trocar metodo โ€” caso 99% so ve ativos. + +3) agenda Fase A: extrai utils puros pra features/agenda/utils + Decomposicao em prep pra Rail/Clinica adotarem. 4 arquivos novos: + eventoTipo.js + dbFields.js + timeHelpers.js + colors.js. + useMelissaAgenda.js: 2863L -> 2792L (-71L), imports via aliases + pra nao mexer em 70+ callsites internos. Zero impacto comportamental. + +C12 UX iter 3 (validar antecipar->Realizada nao duplica record) JA +estava implementado em commits 00c4168 + f83315b โ€” comentario no +codigo de _loadStatusChangeContext confirma "ctx.existingPaidRecord" +pra evitar oferecer "Gerar cobranca nova". + +PENDENTE replicacao Rail/Clinica: +- Fase B (service de billing): extrair _loadStatusChangeContext, + _applyStatusDecisions, _createPackageContract, _materializeAndCharge + PerSession num service reusavel. ~2-3h, risco medio (precisa nao + quebrar 7 ciclos da agenda C7-C13). +- Fase C/D: adapter em AgendaTerapeutaPage/AgendaClinicaPage. + +ATUAL: decidir entre Fase B agora ou pausar replicacao + atacar +outro residual (NFS-e, sweep, etc).