/** * Verificador de Status do Sistema de Persistência * Verifica se os módulos foram carregados corretamente */ (function verificarStatusPersistencia() { console.log('🔍 Verificando status do sistema de persistência...'); // Verificar após um delay para garantir que tudo foi carregado setTimeout(() => { const status = { AdminConfigManager: typeof AdminConfigManager !== 'undefined', BackupManager: typeof BackupManager !== 'undefined', ToastManager: typeof ToastManager !== 'undefined', adminConfigManager: window.adminConfigManager !== null, backupManager: window.backupManager !== null, toastManager: window.toastManager !== null }; console.log('📊 Status do Sistema de Persistência:'); console.table(status); // Verificar localStorage const localStorageKeys = Object.keys(localStorage).filter(key => key.includes('admin') || key.includes('backup') || key.includes('config') ); console.log('📁 Chaves no localStorage:', localStorageKeys); // Tentar criar instâncias se não existirem if (typeof AdminConfigManager !== 'undefined' && !window.adminConfigManager) { try { window.adminConfigManager = new AdminConfigManager(); console.log('✅ AdminConfigManager inicializado manualmente'); } catch (error) { console.error('❌ Erro ao inicializar AdminConfigManager:', error); } } if (typeof BackupManager !== 'undefined' && !window.backupManager) { try { window.backupManager = new BackupManager(); console.log('✅ BackupManager inicializado manualmente'); } catch (error) { console.error('❌ Erro ao inicializar BackupManager:', error); } } if (typeof ToastManager !== 'undefined' && !window.toastManager) { try { window.toastManager = new ToastManager(); console.log('✅ ToastManager inicializado manualmente'); } catch (error) { console.error('❌ Erro ao inicializar ToastManager:', error); } } // Testar funcionalidade básica if (window.adminConfigManager) { try { const config = window.adminConfigManager.getConfig(); console.log('✅ Configuração atual:', config); // Testar salvamento window.adminConfigManager.updateConfig('test.verification', new Date().toISOString()); console.log('✅ Teste de salvamento realizado'); } catch (error) { console.error('❌ Erro ao testar AdminConfigManager:', error); } } // Mostrar resumo const totalModulos = Object.keys(status).length; const modulosOk = Object.values(status).filter(v => v).length; const percentual = (modulosOk / totalModulos * 100).toFixed(1); console.log(`📈 Sistema de Persistência: ${modulosOk}/${totalModulos} módulos OK (${percentual}%)`); if (window.toastManager) { if (percentual === '100.0') { window.toastManager.success('✅ Sistema de persistência totalmente operacional!'); } else if (percentual >= '66.7') { window.toastManager.warning(`⚠️ Sistema de persistência parcial (${percentual}%)`); } else { window.toastManager.error(`❌ Sistema de persistência com problemas (${percentual}%)`); } } }, 3000); // Aguardar 3 segundos para garantir carregamento // Também verificar após 10 segundos (backup) setTimeout(() => { console.log('🔍 Verificação de backup do sistema de persistência:'); if (window.adminConfigManager) { try { const config = window.adminConfigManager.getConfig(); console.log('✅ Config após 10s:', { appName: config.app.name, theme: config.theme.name, version: config.version }); } catch (error) { console.error('❌ AdminConfigManager ainda com problemas:', error); } } else { console.error('❌ AdminConfigManager não disponível após 10s'); } }, 10000); })(); // Função para debug detalhado window.debugPersistencia = function() { console.group('🔍 Debug Detalhado do Sistema de Persistência'); // Verificar cada módulo console.log('1. Verificando AdminConfigManager:'); console.log(' - Tipo:', typeof AdminConfigManager); console.log(' - Disponível:', typeof AdminConfigManager !== 'undefined'); if (typeof AdminConfigManager !== 'undefined') { try { const tempManager = new AdminConfigManager(); console.log(' - Instância criada com sucesso'); console.log(' - Config padrão:', tempManager.getConfig()); // Testar localStorage const key = tempManager.configKey; const data = localStorage.getItem(key); console.log(' - localStorage key:', key); console.log(' - Dados no localStorage:', data ? 'Presentes' : 'Ausentes'); } catch (error) { console.error(' - Erro ao criar instância:', error); } } console.log('2. Verificando BackupManager:'); console.log(' - Tipo:', typeof BackupManager); console.log(' - Disponível:', typeof BackupManager !== 'undefined'); console.log('3. Verificando ToastManager:'); console.log(' - Tipo:', typeof ToastManager); console.log(' - Disponível:', typeof ToastManager !== 'undefined'); console.log('4. Verificando variáveis globais:'); console.log(' - window.adminConfigManager:', window.adminConfigManager); console.log(' - window.backupManager:', window.backupManager); console.log(' - window.toastManager:', window.toastManager); console.log('5. Verificando localStorage:'); const relevantKeys = Object.keys(localStorage).filter(key => key.includes('admin') || key.includes('backup') || key.includes('config') ); console.log(' - Chaves relevantes:', relevantKeys); relevantKeys.forEach(key => { try { const data = JSON.parse(localStorage.getItem(key)); console.log(` - ${key}:`, { type: typeof data, hasVersion: !!data.version, hasAppConfig: !!(data.app || data.application), hasTheme: !!(data.theme || data.themes), size: JSON.stringify(data).length }); } catch (e) { console.log(` - ${key}: (dados inválidos)`); } }); console.groupEnd(); }; console.log('🔍 Sistema de verificação de persistência carregado');