📅 Linha do tempo de estudos

Clique em "Salvar" para registrar sessões e visualizar os gráficos

https://www.metasconcursos.com.br - HOSN Tech & Soluções © Todos os direitos reservados.
Disciplina
Sessão
Salvo com sucesso
Deseja realmente excluir?
⚠️ Limpar todos os dados?

Isso apagará datas, meta, disciplinas e sessões.
Esta ação não pode ser desfeita.

🎉 Parabéns!

Você atingiu sua meta semanal de estudos!

Exportar PDF

📚 Ciclo de Estudos

Disciplinas cadastradas


📚 Sequência das Disciplinas

🔄 Diagrama do Ciclo

`; // FORÇAR INICIALIZAÇÃO DO HOSN APÓS ELEMENTOS ESTAREM NO DOM setTimeout(function() { console.log('[HOSN] Elements inserted, waiting for init...'); if (typeof window._initHosnInternal === 'function') { window._initHosnInternal(); } // Atualizar goals list após HOSN carregar console.log('[HOSN] updateGoalsList function exists:', typeof window.updateGoalsList); console.log('[HOSN] Checking for gosnGoalsList container...'); var goalsList = document.getElementById('gosnGoalsList'); console.log('[HOSN] gosnGoalsList element:', goalsList); if (goalsList) { // Verificar se goals-embedded.js está carregado var hasGoalsEmbedded = document.querySelector('script[src*="goals-embedded.js"]'); console.log('[HOSN] goals-embedded.js loaded:', !!hasGoalsEmbedded); console.log('[HOSN] global updateGoalsList:', typeof window.updateGoalsList); // Forçar display block goalsList.style.display = 'block !important'; goalsList.setAttribute('style', goalsList.getAttribute('style') || '') + 'display:block !important;'; console.log('[HOSN] Set display to block'); if (typeof window.updateGoalsList === 'function') { console.log('[HOSN] Calling window.updateGoalsList() immediately...'); window.updateGoalsList(); } else { console.error('[HOSN] updateGoalsList function NOT found on window!'); // Tentar definir a função diretamente console.log('[HOSN] Available window methods:', Object.keys(window).filter(k => k.includes('Goal') || k.includes('goal')).join(', ')); } // Verificar resultado após 2 segundos setTimeout(() => { var container = document.getElementById('gosnGoalsList'); if (container) { console.log('[HOSN] [2s] After update - children:', container.children.length); console.log('[HOSN] [2s] After update - innerHTML first 500 chars:', container.innerHTML ? container.innerHTML.substring(0, 500) : 'empty'); console.log('[HOSN] [2s] After update - display:', getComputedStyle(container).display); } }, 2000); } else { console.error('[HOSN] gosnGoalsList container still not found!'); } // Aplicar estilo moderno ao botão Carregar applyLoadGoalStyle(); // Atualizar footer updateFooter(); }, 500); function applyLoadGoalStyle() { const btnLoadGoal = document.getElementById('btnLoadGoal'); if (btnLoadGoal) { // Remover classe success do botão Carregar btnLoadGoal.classList.remove('hosn-btn', 'success'); // Adicionar estilo inline moderno btnLoadGoal.setAttribute('style', ` background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%) !important; border: 1px solid #0ea5e9 !important; color: #fff !important; padding: 10px 18px !important; border-radius: 10px !important; font-size: 0.9rem !important; font-weight: 600 !important; box-shadow: 0 3px 12px rgba(14,165,233,0.3) !important; transition: all 0.3s ease !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; min-width: auto !important; margin: 0 !important; width: unset !important; `); console.log('[HOSN] btnLoadGoal style applied:', btnLoadGoal); } } function updateFooter() { const footer = document.querySelector('#hosnWrap footer'); if (footer) { footer.innerHTML = 'https://www.metasconcursos.com.br - HOSN Tech & Soluções © Todos os direitos reservados.'; console.log('[HOSN] Footer updated'); } } } // Force home hash on load if empty function ensureHomeHash() { const hash = window.location.hash; console.log('[HASH] Current hash before force:', hash); // Only update hash if it's empty, not for #minhas-metas or other valid hashes if (hash === "" || hash === "#") { history.replaceState(null, null, '#home'); console.log('[HASH] Set home hash via replaceState'); } // Always trigger the function handleDashboardHash(); } function handleDashboardHash() { const hash = window.location.hash; console.log('[HASH] Current hash:', hash); const mainContent = document.getElementById("mainContent"); // Default to HOSN on home page if (hash === "" || hash === "#") { renderHosnToMainContent(); var goalsSidebar = document.getElementById('gosnGoalsSidebar'); if(goalsSidebar) goalsSidebar.style.display = 'none'; console.log('[HASH] Showing HOSN dashboard'); return; } if (hash === "#minhas-metas" || hash === "#agentes" || hash === "#assistente") { const existingScript = document.querySelector("script[src*=\"goals-embedded.js\"]"); if (existingScript || typeof initGoalAgent === "function") { if (typeof initGoalAgent === "function") { if (!window.goalScriptsProcessed) { window.goalScriptsProcessed = true; initGoalAgent(); // initGoalAgent() já inicia o onboarding direto com efeito digitação } } var goalsSidebar = document.getElementById('gosnGoalsSidebar'); if(goalsSidebar) goalsSidebar.style.display = 'block'; return; } if (mainContent) { mainContent.innerHTML = "
"; window.hasDashboard = true; window.goalScriptsProcessed = false; const script = document.createElement("script"); script.src = "/js/goals-embedded.js?v2=" + Date.now(); script.onload = function() { window.goalScriptsProcessed = true; }; document.head.appendChild(script); const checkInit = setInterval(function() { if (typeof initGoalAgent === "function") { clearInterval(checkInit); initGoalAgent(); // initGoalAgent() já inicia o onboarding direto com efeito digitação } }, 100); var goalsSidebar = document.getElementById('gosnGoalsSidebar'); if(goalsSidebar) goalsSidebar.style.display = 'block'; console.log('[HASH] Showing goals/agents:', hash); } } else { // Hide goals sidebar for other pages var goalsSidebar = document.getElementById('gosnGoalsSidebar'); if(goalsSidebar) goalsSidebar.style.display = 'none'; } } window.addEventListener("hashchange", handleDashboardHash); // Força hash home antes de começar window.addEventListener('load', function() { ensureHomeHash(); // Update charts multiple times to ensure they render [7000, 10000, 15000].forEach(delay => { setTimeout(function() { console.log('[LOAD] Calling updateGraficos at', delay); if (typeof updateGraficos === 'function') { updateGraficos(); } else { console.log('[LOAD] updateGraficos not available yet'); } }, delay); }); });

Sistema

Logo