/**
 * Script de diagnostic pour TravelV2
 *
 * Copiez-collez ce code dans la console de Foundry VTT (F12)
 * pour diagnostiquer les problèmes de chargement
 */

console.log("=== Diagnostic TravelV2 ===\n");

// Test 1: Vérifier si la classe existe
console.log("1. Classe TravelDistanceV2 existe ?");
if (typeof TravelDistanceV2 !== 'undefined') {
    console.log("   ✓ OUI - La classe est disponible");
} else {
    console.log("   ✗ NON - La classe n'est pas chargée !");
    console.log("   → Vérifiez que le module est activé et rechargez (F5)");
}

// Test 2: Vérifier les données
console.log("\n2. Données chargées ?");
if (typeof TravelDistanceV2 !== 'undefined' && TravelDistanceV2.travel_data) {
    console.log(`   ✓ OUI - ${TravelDistanceV2.travel_data.length} routes chargées`);
    console.log(`   → Première route: ${TravelDistanceV2.travel_data[0]?.from} → ${TravelDistanceV2.travel_data[0]?.to}`);
} else {
    console.log("   ✗ NON - Les données ne sont pas chargées");
    console.log("   → Essayez de les charger manuellement:");
    console.log("   → await TravelDistanceV2.loadTravelData()");
}

// Test 3: Tester le chargement manuel
console.log("\n3. Test de chargement manuel:");
console.log("   Exécutez: await TravelDistanceV2.loadTravelData()");
console.log("   Puis vérifiez avec: TravelDistanceV2.travel_data.length");

// Test 4: Tester le chemin du fichier
console.log("\n4. Vérification du chemin du fichier:");
const path = 'modules/foundryvtt-wh4-lang-fr-fr/modules/travelv2/travel_data.json';
console.log(`   Chemin: ${path}`);
console.log("   Test de fetch...");
fetch(path)
    .then(response => {
        console.log(`   ✓ Fichier accessible - Status: ${response.status}`);
        return response.json();
    })
    .then(data => {
        console.log(`   ✓ JSON valide - ${data.length} routes trouvées`);
    })
    .catch(error => {
        console.log(`   ✗ Erreur: ${error.message}`);
        console.log("   → Vérifiez que le fichier travel_data.json existe bien");
    });

// Test 5: Afficher l'état du module
console.log("\n5. État du module:");
console.log(`   game.modules = ${game.modules ? 'Disponible' : 'Non disponible'}`);
const frModule = game.modules.get('foundryvtt-wh4-lang-fr-fr');
if (frModule) {
    console.log(`   ✓ Module trouvé: ${frModule.title}`);
    console.log(`   → Actif: ${frModule.active}`);
} else {
    console.log("   ✗ Module 'foundryvtt-wh4-lang-fr-fr' non trouvé");
}

console.log("\n=== Fin du diagnostic ===");
console.log("\nCommandes utiles:");
console.log("• Charger les données: await TravelDistanceV2.loadTravelData()");
console.log("• Vérifier les données: TravelDistanceV2.travel_data");
console.log("• Tester l'affichage: TravelDistanceV2.displayTravelDistance()");
console.log("• Tester avec ville: TravelDistanceV2.displayTravelDistance('Altdorf')");
