#!/bin/bash # Script pour remplacer les fontSize hardcodés par AppTheme.r(context, X) echo "🔧 Correction des fontSize hardcodés pour le responsive design..." # Fonction pour traiter un fichier fix_file() { local file=$1 echo " Traitement de: $file" # Vérifier si l'import AppTheme existe déjà if ! grep -q "import 'package:geosector_app/core/theme/app_theme.dart';" "$file"; then # Ajouter l'import après le premier import Flutter sed -i "/^import 'package:flutter\//a import 'package:geosector_app/core/theme/app_theme.dart';" "$file" fi # Remplacer tous les fontSize: XX par fontSize: AppTheme.r(context, XX) # Pattern pour fontSize: suivi d'un nombre sed -i -E 's/fontSize: ([0-9]+(\.[0-9]+)?)/fontSize: AppTheme.r(context, \1)/g' "$file" # Remplacer les const TextStyle qui contiennent fontSize sed -i -E 's/const TextStyle\((.*fontSize: AppTheme\.r.*)\)/TextStyle(\1)/g' "$file" } # Fichiers prioritaires pour l'UI mobile priority_files=( "lib/presentation/widgets/passages/passage_form.dart" "lib/presentation/widgets/passage_form_dialog.dart" "lib/presentation/user/user_field_mode_page.dart" "lib/presentation/user/user_dashboard_home_page.dart" "lib/presentation/user/user_history_page.dart" "lib/presentation/widgets/dashboard_layout.dart" "lib/presentation/widgets/dashboard_app_bar.dart" "lib/presentation/widgets/charts/payment_summary_card.dart" "lib/presentation/widgets/charts/passage_summary_card.dart" "lib/presentation/widgets/sector_distribution_card.dart" ) # Traiter les fichiers prioritaires echo "📱 Traitement des fichiers prioritaires pour mobile..." for file in "${priority_files[@]}"; do if [ -f "$file" ]; then fix_file "$file" else echo " ⚠️ Fichier non trouvé: $file" fi done echo "✅ Correction terminée!" echo "" echo "📊 Statistiques:" echo " - Fichiers traités: ${#priority_files[@]}" echo "" echo "💡 Pour traiter TOUS les fichiers, exécutez:" echo " find lib -name '*.dart' -exec grep -l 'fontSize: [0-9]' {} \; | while read f; do ./fix_responsive_fonts.sh \"\$f\"; done"