- Add intelligent content-game compatibility system with visual badges - Fix Adventure Reader to work with Dragon's Pearl content structure - Implement multi-column games grid for faster navigation - Add pronunciation display for Chinese vocabulary and sentences - Fix navigation breadcrumb to show proper hierarchy (Home > Levels > Content) - Add back buttons to all navigation pages - Improve JSONContentLoader to preserve story structure - Add comprehensive debugging and diagnostic tools 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
75 lines
2.8 KiB
JavaScript
75 lines
2.8 KiB
JavaScript
// === SCRIPT DE VALIDATION DU SYSTÈME DE COMPATIBILITÉ ===
|
||
|
||
// Fonction pour tester le chargement des modules
|
||
async function validateCompatibilitySystem() {
|
||
console.log('🧪 Validation du système de compatibilité...');
|
||
|
||
// Test 1: Vérifier que les classes globales existent
|
||
console.log('\n1️⃣ Test des classes globales:');
|
||
const requiredClasses = [
|
||
'ContentScanner',
|
||
'ContentGameCompatibility'
|
||
];
|
||
|
||
requiredClasses.forEach(className => {
|
||
if (window[className]) {
|
||
console.log(`✅ ${className} est disponible`);
|
||
} else {
|
||
console.error(`❌ ${className} manquant!`);
|
||
}
|
||
});
|
||
|
||
// Test 2: Initialiser les systèmes
|
||
console.log('\n2️⃣ Test d\'initialisation:');
|
||
try {
|
||
const scanner = new window.ContentScanner();
|
||
console.log('✅ ContentScanner initialisé');
|
||
|
||
const checker = new window.ContentGameCompatibility();
|
||
console.log('✅ ContentGameCompatibility initialisé');
|
||
|
||
// Test 3: Scanner le contenu
|
||
console.log('\n3️⃣ Test du scan de contenu:');
|
||
const results = await scanner.scanAllContent();
|
||
console.log(`✅ Scan terminé: ${results.found.length} modules trouvés`);
|
||
|
||
// Test 4: Test de compatibilité
|
||
console.log('\n4️⃣ Test de compatibilité:');
|
||
if (results.found.length > 0) {
|
||
const testContent = results.found[0];
|
||
const compatibility = checker.checkCompatibility(testContent, 'whack-a-mole');
|
||
console.log(`✅ Test compatibilité: ${testContent.name} → whack-a-mole = ${compatibility.compatible ? 'Compatible' : 'Incompatible'} (${compatibility.score}%)`);
|
||
}
|
||
|
||
// Test 5: Vérifier AppNavigation
|
||
console.log('\n5️⃣ Test de l\'intégration navigation:');
|
||
if (window.AppNavigation && window.AppNavigation.compatibilityChecker) {
|
||
console.log('✅ AppNavigation a le système de compatibilité intégré');
|
||
} else {
|
||
console.log('⚠️ AppNavigation n\'a pas le système de compatibilité');
|
||
}
|
||
|
||
console.log('\n🎉 Tous les tests passés!');
|
||
return true;
|
||
|
||
} catch (error) {
|
||
console.error(`❌ Erreur pendant les tests: ${error.message}`);
|
||
console.error(error.stack);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
// Auto-exécution si ce script est chargé directement
|
||
if (typeof window !== 'undefined') {
|
||
// Attendre que tous les scripts soient chargés
|
||
if (document.readyState === 'loading') {
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
setTimeout(validateCompatibilitySystem, 1000);
|
||
});
|
||
} else {
|
||
setTimeout(validateCompatibilitySystem, 1000);
|
||
}
|
||
}
|
||
|
||
// Export pour utilisation manuelle
|
||
window.validateCompatibilitySystem = validateCompatibilitySystem; |