- 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>
85 lines
3.4 KiB
JavaScript
85 lines
3.4 KiB
JavaScript
// === 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(); |