From 159b80db6cf408ade3650f4a71335df316e1ee68 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Fri, 8 May 2026 10:52:42 -0300 Subject: [PATCH] MelissaPaciente: full-width + sidebar "Voltar pra Pacientes" no lugar de Configuracoes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Feedback do user pos-Fase 8: 1. Janela full-width (prontuario tem KPIs + tabelas + timeline — precisa de espaco). Removido o `right: max(6px, min(50%, calc(100% - 1006px)))` da .mpa-page no @media >=1024px. Mantém apenas inset 6px nos 4 lados. 2. Botao "Configuracoes" da sidebar removido (prontuario pertence a Pacientes, nao a Configuracoes — nao faz sentido o atalho global de cfg-* aqui). No mesmo lugar visual entra o botao "Voltar para Pacientes" com mesma classe .mpa-cfg-btn (reaproveita estilo) + modifier .mpa-cfg-btn--back pra hover sutilmente diferente. REMOVIDO - Import MelissaConfigList (nao usado mais) - Refs cfgOpen + funcoes toggleCfg/fecharCfg - Template do dual-mode (cfgOpen ? MelissaConfigList : cards) - CSS .mpa-cfg-btn.is-open + .mpa-cfg-btn__chev + .mpa-side__scroll--cfg ADICIONADO - close() agora faz history.back se houver historia, fallback pra /melissa/pacientes (cobre deep-link direto). Antes ia sempre pra /melissa/pacientes — agora respeita de onde o user veio (Agenda OU Pacientes). - goToPacientes() handler novo pro botao "Voltar pra Pacientes". - .mpa-cfg-btn--back hover style. Tooltip do X mudou de "Voltar (Esc)" pra "Fechar (Esc)" — semantica mais clara (o X fecha; o botao da sidebar voltar EXPLICITO). ESLint: 0 errors da minha mudanca. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/layout/melissa/MelissaPaciente.vue | 60 +++++++++++--------------- 1 file changed, 26 insertions(+), 34 deletions(-) diff --git a/src/layout/melissa/MelissaPaciente.vue b/src/layout/melissa/MelissaPaciente.vue index d7003bd..15a7f6a 100644 --- a/src/layout/melissa/MelissaPaciente.vue +++ b/src/layout/melissa/MelissaPaciente.vue @@ -22,7 +22,6 @@ import { ref, computed, watch, nextTick, onMounted, onBeforeUnmount } from 'vue' import { useRouter } from 'vue-router'; import { useToast } from 'primevue/usetoast'; import { useConversationDrawerStore } from '@/stores/conversationDrawerStore'; -import MelissaConfigList from './MelissaConfigList.vue'; import DocumentsListPage from '@/features/documents/DocumentsListPage.vue'; import PatientConversationsTab from '@/features/patients/prontuario/PatientConversationsTab.vue'; import { usePatientDetail } from '@/features/patients/composables/usePatientDetail'; @@ -82,10 +81,6 @@ function _onMqMobileChange(e) { function toggleDrawer() { drawerOpen.value = !drawerOpen.value; } function fecharDrawer() { drawerOpen.value = false; } -// Toggle entre cards (default) e lista de configs -const cfgOpen = ref(false); -function toggleCfg() { cfgOpen.value = !cfgOpen.value; } -function fecharCfg() { cfgOpen.value = false; } // ── Tabs ─────────────────────────────────────────────────── const TABS = [ @@ -327,9 +322,19 @@ const kpiRealizadas = computed(() => sessionsHook.totalRealizadas.value); const kpiMensagens = computed(() => messagesHook.messages.value.length); // ── Acoes ────────────────────────────────────────────────── -// Volta pra lista de pacientes (preserva o estado de Melissa). +// X (close): volta de onde veio (Agenda OU Pacientes) via history. +// Fallback pra /melissa/pacientes se nao tem history (deep-link direto). function close() { emit('close'); + if (window.history.length > 1) { + router.back(); + } else { + router.push('/melissa/pacientes'); + } +} + +// Botao dedicado: navega EXPLICITAMENTE pra lista de pacientes. +function goToPacientes() { router.push('/melissa/pacientes'); } @@ -472,7 +477,7 @@ onBeforeUnmount(() => { - @@ -491,15 +496,13 @@ onBeforeUnmount(() => {