- 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>
62 lines
2.6 KiB
HTML
62 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Test Content Loading</title>
|
|
</head>
|
|
<body>
|
|
<h1>Content Loading Test</h1>
|
|
<div id="results"></div>
|
|
|
|
<script src="js/core/websocket-logger.js"></script>
|
|
<script src="js/core/env-config.js"></script>
|
|
<script src="js/core/utils.js"></script>
|
|
<script src="js/core/content-scanner.js"></script>
|
|
<script src="js/content/sbs-level-7-8-new.js"></script>
|
|
|
|
<script>
|
|
async function testContentLoading() {
|
|
const resultsDiv = document.getElementById('results');
|
|
|
|
// Test 1: Check if module is loaded
|
|
resultsDiv.innerHTML += '<h2>Test 1: Module Loading</h2>';
|
|
if (window.ContentModules && window.ContentModules.SBSLevel78New) {
|
|
resultsDiv.innerHTML += '✅ Module SBSLevel78New loaded<br>';
|
|
resultsDiv.innerHTML += `📊 Vocabulary count: ${Object.keys(window.ContentModules.SBSLevel78New.vocabulary).length}<br>`;
|
|
resultsDiv.innerHTML += `📝 Name: ${window.ContentModules.SBSLevel78New.name}<br>`;
|
|
} else {
|
|
resultsDiv.innerHTML += '❌ Module SBSLevel78New NOT loaded<br>';
|
|
resultsDiv.innerHTML += `Available modules: ${Object.keys(window.ContentModules || {}).join(', ')}<br>`;
|
|
}
|
|
|
|
// Test 2: Content Scanner
|
|
resultsDiv.innerHTML += '<h2>Test 2: Content Scanner</h2>';
|
|
try {
|
|
const scanner = new ContentScanner();
|
|
const result = await scanner.scanAllContent();
|
|
|
|
resultsDiv.innerHTML += `✅ Scanner completed<br>`;
|
|
resultsDiv.innerHTML += `📁 Found ${result.found.length} modules<br>`;
|
|
resultsDiv.innerHTML += `❌ Errors: ${result.errors.length}<br>`;
|
|
|
|
result.found.forEach(content => {
|
|
resultsDiv.innerHTML += ` - ${content.name} (${content.id})<br>`;
|
|
});
|
|
|
|
if (result.errors.length > 0) {
|
|
resultsDiv.innerHTML += '<h3>Errors:</h3>';
|
|
result.errors.forEach(error => {
|
|
resultsDiv.innerHTML += ` - ${error.filename || 'Unknown'}: ${error.error}<br>`;
|
|
});
|
|
}
|
|
} catch (error) {
|
|
resultsDiv.innerHTML += `❌ Scanner failed: ${error.message}<br>`;
|
|
}
|
|
}
|
|
|
|
// Run test when page loads
|
|
document.addEventListener('DOMContentLoaded', testContentLoading);
|
|
</script>
|
|
</body>
|
|
</html> |