Class_generator/debug-adventure-reader.js
StillHammer fe7153d28b Fix compatibility system and improve UX
- 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>
2025-09-18 19:29:21 +08:00

85 lines
3.4 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// === DEBUG ADVENTURE READER + DRAGON'S PEARL ===
// Script à copier-coller dans la console pour déboguer
function debugAdventureReader() {
console.log('🐉 Debug Adventure Reader + Dragon\\'s Pearl');
// 1. Vérifier que le module Dragon's Pearl est chargé
console.log('\\n1⃣ Module Dragon\\'s Pearl:');
const dragonModule = window.ContentModules?.ChineseLongStory;
console.log(' Module trouvé:', !!dragonModule);
if (dragonModule) {
console.log(' Nom:', dragonModule.name);
console.log(' Vocabulary entries:', Object.keys(dragonModule.vocabulary || {}).length);
console.log(' Story structure:', !!dragonModule.story);
if (dragonModule.story) {
console.log(' Story title:', dragonModule.story.title);
console.log(' Chapters:', dragonModule.story.chapters?.length || 0);
if (dragonModule.story.chapters?.[0]) {
console.log(' First chapter sentences:', dragonModule.story.chapters[0].sentences?.length || 0);
console.log(' Sample sentence:', dragonModule.story.chapters[0].sentences?.[0]?.original);
}
}
}
// 2. Tester l'extraction si possible
console.log('\\n2⃣ Test d\\'extraction:');
if (dragonModule && window.AdventureReaderGame) {
// Créer une instance temporaire pour tester
const testReader = {
extractSentences: window.AdventureReaderGame.prototype.extractSentences,
extractVocabulary: window.AdventureReaderGame.prototype.extractVocabulary,
extractStories: window.AdventureReaderGame.prototype.extractStories
};
try {
const sentences = testReader.extractSentences(dragonModule);
console.log(' Phrases extraites:', sentences.length);
if (sentences.length > 0) {
console.log(' Première phrase:', sentences[0]);
}
const vocab = testReader.extractVocabulary(dragonModule);
console.log(' Vocabulaire extrait:', vocab.length);
if (vocab.length > 0) {
console.log(' Premier mot:', vocab[0]);
}
const stories = testReader.extractStories(dragonModule);
console.log(' Histoires extraites:', stories.length);
if (stories.length > 0) {
console.log(' Première histoire:', stories[0].title);
}
} catch (error) {
console.error(' Erreur d\\'extraction:', error);
}
}
// 3. Vérifier l'instance active si elle existe
console.log('\\n3⃣ Instance active:');
// Chercher dans le DOM s'il y a un jeu actif
const gameContainer = document.querySelector('.adventure-reader-wrapper');
console.log(' Jeu Adventure Reader actif:', !!gameContainer);
// Vérifier les éléments du DOM
const modal = document.getElementById('reading-modal');
console.log(' Modal de lecture:', !!modal);
const mapElement = document.querySelector('.game-map');
console.log(' Carte de jeu:', !!mapElement);
const pots = document.querySelectorAll('.pot');
const enemies = document.querySelectorAll('.enemy');
console.log(' Pots sur la carte:', pots.length);
console.log(' Ennemis sur la carte:', enemies.length);
console.log('\\n✅ Debug terminé');
}
// Auto-exécution
debugAdventureReader();