diff --git a/src/layout/melissa/MelissaPerfil.vue b/src/layout/melissa/MelissaPerfil.vue index e57e86a..79e4958 100644 --- a/src/layout/melissa/MelissaPerfil.vue +++ b/src/layout/melissa/MelissaPerfil.vue @@ -21,6 +21,7 @@ import { useConfirm } from 'primevue/useconfirm'; import { useRouter } from 'vue-router'; import { supabase } from '@/lib/supabase/client'; import { useTenantStore } from '@/stores/tenantStore'; +import MelissaConfigSidebar from './MelissaConfigSidebar.vue'; // InputText/Select/Textarea/InputMask/Skeleton/Tag/Button: auto via PrimeVueResolver const emit = defineEmits(['close']); @@ -32,16 +33,11 @@ const tenantStore = useTenantStore(); const AVATAR_BUCKET = 'avatars'; -// ── Breakpoints + drawer ─────────────────────────────────── -const drawerOpen = ref(false); +// ── Breakpoints (sem drawer — em mobile o menu de configs renderiza +// inline no topo via MelissaConfigSidebar). ───────────────── const isMobile = ref(false); let _mqMobile = null; -function _onMqMobileChange(e) { - isMobile.value = e.matches; - if (!e.matches) drawerOpen.value = false; -} -function toggleDrawer() { drawerOpen.value = !drawerOpen.value; } -function fecharDrawer() { drawerOpen.value = false; } +function _onMqMobileChange(e) { isMobile.value = e.matches; } // ── Estado ───────────────────────────────────────────────── const loading = ref(true); @@ -420,10 +416,6 @@ const SECTION_BY_FIELD = { function scrollToSection(field) { const sec = SECTION_BY_FIELD[field]; if (!sec) return; - // Avatar fica na sidebar; em mobile mantem o drawer aberto (e nao scrolla - // o main, pq a sessao nao existe no main). - const isAvatar = sec === 'avatar'; - if (isMobile.value && !isAvatar) drawerOpen.value = false; nextTick(() => { const target = document.getElementById('mpr-sec-' + sec); if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' }); @@ -468,34 +460,8 @@ onBeforeUnmount(() => {