Legado Que Ensina
Legado Que Ensina Gestão psicopedagógica
Cuidado que transforma

Organize seu trabalho.
Cuide melhor.

Uma plataforma simples para acompanhar alunos, avaliações, atendimentos, agenda e evolução psicopedagógica em um só lugar.

Acompanhamento individual

Tenha o histórico completo de cada aluno sempre acessível.

Agenda organizada

Controle atendimentos, presenças, pagamentos e reposições.

Evolução documentada

Registre observações e acompanhe o desenvolvimento ao longo do tempo.

`);w.document.close();w.focus();setTimeout(()=>w.print(),250); } /* ============================================================ 5) ROTEAMENTO FINAL — inclui DOCUMENTOS sem mexer nas demais telas ============================================================ */ const titles={dashboard:{label:'Início',icon:'layout-dashboard'},alunos:{label:'Alunos',icon:'users'},'aluno-perfil':{label:'Perfil do aluno',icon:'user-round'},agenda:{label:'Agenda',icon:'calendar-days'},avaliacoes:{label:'Avaliações',icon:'clipboard-check'},financeiro:{label:'Financeiro',icon:'wallet-cards'},recados:{label:'Recados',icon:'message-square'},'lista-espera':{label:'Lista de espera',icon:'list-ordered'},perfil:{label:'Meu perfil',icon:'user-round-cog'},master:{label:'Administração',icon:'shield'},documentos:{label:'Modelos e documentos',icon:'file-text'}}; W.renderCurrentView=async function(view){ ensureDocsView(); if(view==='documentos'){docsView();return;} const fnMap={dashboard:'renderDashboard',alunos:'renderStudents','aluno-perfil':'renderStudentProfileView',agenda:'renderAgenda',avaliacoes:'renderEvaluations',financeiro:'renderFinance',recados:'renderMessages','lista-espera':'renderWaitlist',perfil:'renderProfile',master:'renderMaster'}; const fn=W[fnMap[view]||'renderDashboard']; if(typeof fn!=='function')throw new Error(`Tela "${view}" não possui um renderizador ativo.`); const r=await fn(); if(view==='dashboard')ensureDashboardGreeting(); if(view==='perfil')ensurePlanCard(); if(view==='agenda'){await decorateUpcomingAppointmentActions();} return r; }; W.navigate=function(view){ const valid=titles[view]?view:'dashboard'; if(W.state)W.state.currentView=valid; document.querySelectorAll('.view').forEach(v=>v.classList.remove('active')); byId(`view-${valid}`)?.classList.add('active'); document.querySelectorAll('#mainNav button[data-view]').forEach(b=>b.classList.toggle('active',b.dataset.view===valid)); const pt=byId('pageTitle'),info=titles[valid]; if(pt)pt.innerHTML=`${esc(info.label)}`; W.refreshIcons?.(); Promise.resolve(W.renderCurrentView(valid)).catch(e=>{console.error('[FINAL19 router]',e);W.showError?.(e.message||'Não foi possível abrir a página.');}); }; /* Disponibilidade continua recolhida ao entrar na Agenda. */ const keepAvailabilityClosed=()=>document.querySelectorAll('.l14-agenda-availability').forEach(d=>d.removeAttribute('open')); const originalAgenda=W.renderAgenda; if(typeof originalAgenda==='function'&&!originalAgenda.__final19){ W.renderAgenda=async function(){const r=await originalAgenda.apply(this,arguments);keepAvailabilityClosed();await decorateUpcomingAppointmentActions();return r;}; W.renderAgenda.__final19=true; } function init(){ensureDocsView();if(W.state?.currentView==='dashboard')ensureDashboardGreeting();if(byId('perfilContent')?.querySelector('.v3-profile-editor'))ensurePlanCard();keepAvailabilityClosed();} if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else setTimeout(init,0); })(); \n