#!/bin/bash
# FIX #18: Script pour remplacer console.* par logger.* dans le frontend
# Usage: ./scripts/replace-console-logs.sh

echo "🔄 Remplacement des console.* par logger.* dans le frontend..."

# Trouver tous les fichiers TypeScript/TSX
find apps/web/src -type f \( -name "*.ts" -o -name "*.tsx" \) ! -name "*.test.ts" ! -name "*.test.tsx" | while read file; do
  # Vérifier si le fichier contient console.log/error/warn/info/debug
  if grep -q "console\.\(log\|error\|warn\|info\|debug\)" "$file"; then
    echo "📝 Traitement de: $file"
    
    # Ajouter l'import du logger si nécessaire
    if ! grep -q "import.*logger.*from.*@/utils/logger" "$file" && ! grep -q "import.*logger.*from.*utils/logger" "$file"; then
      # Trouver la dernière ligne d'import
      last_import_line=$(grep -n "^import" "$file" | tail -1 | cut -d: -f1)
      if [ -n "$last_import_line" ]; then
        # Ajouter l'import après la dernière ligne d'import
        sed -i "${last_import_line}a import { logger } from '@/utils/logger';" "$file"
      else
        # Ajouter au début du fichier
        sed -i "1i import { logger } from '@/utils/logger';" "$file"
      fi
    fi
    
    # Remplacer console.log par logger.info
    sed -i 's/console\.log(/logger.info(/g' "$file"
    
    # Remplacer console.error par logger.error
    sed -i 's/console\.error(/logger.error(/g' "$file"
    
    # Remplacer console.warn par logger.warn
    sed -i 's/console\.warn(/logger.warn(/g' "$file"
    
    # Remplacer console.info par logger.info
    sed -i 's/console\.info(/logger.info(/g' "$file"
    
    # Remplacer console.debug par logger.debug
    sed -i 's/console\.debug(/logger.debug(/g' "$file"
    
    echo "✅ $file traité"
  fi
done

echo "✨ Remplacement terminé !"
echo "⚠️  Vérifiez manuellement les fichiers modifiés pour ajuster les paramètres du logger si nécessaire."

