Ajuste Layout, Dashboard Terapeuta, Timeline, Suporte técnico, Documentação e FAQ
This commit is contained in:
@@ -574,8 +574,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Menu Mode -->
|
||||
<div class="col-span-12 md:col-span-4">
|
||||
<!-- Menu Mode: só relevante no Layout Clássico -->
|
||||
<div v-if="layoutConfig.variant === 'classic'" class="col-span-12 md:col-span-4">
|
||||
<div class="prof-ctrl-box">
|
||||
<div class="prof-ctrl-box__head">
|
||||
<div>
|
||||
@@ -1125,7 +1125,7 @@ async function uploadAvatarIfNeeded () {
|
||||
/* ----------------------------
|
||||
Aparência (SEM duplicar engine)
|
||||
----------------------------- */
|
||||
const { layoutConfig, toggleDarkMode, changeMenuMode } = useLayout()
|
||||
const { layoutConfig, layoutState, toggleDarkMode, changeMenuMode } = useLayout()
|
||||
|
||||
function isDarkNow () {
|
||||
return document.documentElement.classList.contains('app-dark')
|
||||
@@ -1155,8 +1155,11 @@ const menuModeModel = computed({
|
||||
set: (val) => {
|
||||
if (!val || val === layoutConfig.menuMode) return
|
||||
layoutConfig.menuMode = val
|
||||
try { changeMenuMode?.(val) } catch {
|
||||
try { changeMenuMode?.({ value: val }) } catch {}
|
||||
// Não chama changeMenuMode() no Rail — ela reseta estados do sidebar
|
||||
if (layoutConfig.variant !== 'rail') {
|
||||
try { changeMenuMode?.(val) } catch {
|
||||
try { changeMenuMode?.({ value: val }) } catch {}
|
||||
}
|
||||
}
|
||||
if (!silentApplying.value) markDirty()
|
||||
}
|
||||
@@ -1229,13 +1232,9 @@ async function loadUserSettings (uid) {
|
||||
// fazendo a sidebar desaparecer ao entrar na página.
|
||||
}
|
||||
|
||||
// layout variant — só aplica se mudou, para não resetar o estado do layout
|
||||
if (
|
||||
(settings.layout_variant === 'rail' || settings.layout_variant === 'classic') &&
|
||||
settings.layout_variant !== layoutConfig.variant
|
||||
) {
|
||||
setVariant(settings.layout_variant)
|
||||
}
|
||||
// Variant NÃO é re-aplicada aqui: bootstrapUserSettings cuida disso no arranque.
|
||||
// Re-aplicar no loadUserSettings causava regressão (dado stale do banco sobrescrevia
|
||||
// o variant ativo). A UI lê layoutConfig.variant diretamente para exibir a seleção.
|
||||
|
||||
applyThemeEngine(layoutConfig)
|
||||
|
||||
@@ -1405,7 +1404,7 @@ async function saveAll () {
|
||||
primary_color: layoutConfig.primary || 'noir',
|
||||
surface_color: layoutConfig.surface || 'slate',
|
||||
menu_mode: layoutConfig.menuMode || 'static',
|
||||
layout_variant: layoutConfig.variant || 'classic',
|
||||
layout_variant: layoutConfig.variant || 'rail',
|
||||
updated_at: new Date().toISOString()
|
||||
}
|
||||
|
||||
@@ -1425,6 +1424,7 @@ async function saveAll () {
|
||||
|
||||
clearAvatarFile()
|
||||
dirty.value = false
|
||||
layoutState._variantDirty = false
|
||||
toast.add({ severity: 'success', summary: 'Salvo', detail: 'Seu perfil foi atualizado.', life: 2500 })
|
||||
} catch (e) {
|
||||
toast.add({ severity: 'error', summary: 'Erro ao salvar', detail: e?.message || 'Não consegui salvar.', life: 6000 })
|
||||
@@ -1510,9 +1510,6 @@ onBeforeUnmount(() => {
|
||||
.prof-root {
|
||||
padding: 1rem;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.prof-root { padding: 1.5rem; }
|
||||
}
|
||||
|
||||
/* ─── Hero ──────────────────────────────────────────────── */
|
||||
.prof-hero-sentinel { height: 1px; }
|
||||
@@ -1959,4 +1956,4 @@ onBeforeUnmount(() => {
|
||||
.prof-slide-leave-to {
|
||||
opacity: 0; max-height: 0; margin: 0;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
Reference in New Issue
Block a user