41c44272a3659e33eb637a43e8976b5fe1abf896
BLOQUEIO REAL Inativo + AVISO Arquivado futura: - useAgendaEventComposer.canSave agora bloqueia edicao de sessao futura quando !perms.canReschedule. Antes canReschedule era dead code (definido em getPatientAgendaPermissions mas nunca consumido). Pra Inativo: canReschedule=false => Save desabilitado de verdade (antes o aviso "Remarcacao bloqueada" mentia, save acontecia mesmo). - Aviso novo (severity=info) em AgendaEventDialog + V2 pra Arquivado + futura + edit: "Sessao futura editavel; novos agendamentos e recorrencias bloqueados". Cobria um gap onde nao havia aviso nenhum pra esse cenario. RESUMO FLUTUANTE acompanha o Dialog: - ResizeObserver no .p-dialog.agenda-event-composer mede top + altura e sincroniza com :style do aside via ref resumoStyle. Antes o aside tinha top:5vh fixo — dialog baixo (Bloqueio/Atividade) centrava vertical e o resumo ficava preso la em cima desalinhado. CARD "Campos Extras (compromisso)": - Bloco de selectedCommitmentFields extraido da fields-grid pra um .field-card proprio com header pi-list + titulo + .aed-extras-body (padding 0.85rem). Hierarquia visual clara: campos do compromisso ficam isolados dos campos do form principal. - Bind especial pra f.key==='notes': v-model="form.observacoes" em vez de form.extra_fields.notes. Mantem compat com a coluna nativa agenda_eventos.observacoes (consumida por relatorios/prontuario). - Textareas hardcoded de Observacao removidas do form (fields-grid + side-card direito) — agora vem como campo extra do commitment Sessao, via migration 20260511000001 (commit anterior). OUTROS: - Card "Pagamento" renomeado pra "Sessao / Honorarios" (cobre os 3 tipos: gratuito, particular, convenio — terminologia mais alinhada ao vocabulario clinico). - composer-grid e composer-right ganharam gap:0 — os cards filhos ja tem mb-4 proprio (Tailwind ~1rem), gap do flex duplicava. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sakai is an application template for Vue based on the create-vue, the recommended way to start a Vite-powered Vue projects.
Visit the documentation to get started.
Description
Languages
Vue
61.3%
PLpgSQL
17.4%
JavaScript
16%
HTML
2.7%
TypeScript
2.3%
Other
0.3%