fix: amélioration modification Navigation.tsx avec sed + fallback Python
- Utilisation de sed en premier (plus simple) - Fallback avec Python si sed échoue - Logs détaillés pour voir le contenu avant/après - Affichage du contenu modifié pour vérification
This commit is contained in:
@@ -54,55 +54,93 @@ if [ -f "$NAV_FILE" ]; then
|
|||||||
echo "📝 Navigation.tsx trouvé, vérification du lien..."
|
echo "📝 Navigation.tsx trouvé, vérification du lien..."
|
||||||
if ! grep -q 'href="/team"' "$NAV_FILE"; then
|
if ! grep -q 'href="/team"' "$NAV_FILE"; then
|
||||||
echo "➕ Ajout du lien Équipe dans Navigation.tsx..."
|
echo "➕ Ajout du lien Équipe dans Navigation.tsx..."
|
||||||
# Ajouter le lien après Overview, avant le commentaire
|
echo "📄 Contenu actuel de Navigation.tsx (extrait):"
|
||||||
# Utiliser Python pour une modification plus précise
|
grep -A 5 -B 5 "overview" "$NAV_FILE" || echo "Pattern 'overview' non trouvé"
|
||||||
|
|
||||||
|
# Utiliser sed pour une modification plus simple et fiable
|
||||||
|
# Chercher la ligne avec </Link> après overview et insérer le nouveau lien avant le commentaire
|
||||||
|
sed -i '/href="\/overview"/,/<\/Link>/ {
|
||||||
|
/<\/Link>/a\
|
||||||
|
<li className={styles.item}>\
|
||||||
|
<Link href="/team">\
|
||||||
|
<span className={styles.label}>👥 Équipe</span>\
|
||||||
|
</Link>\
|
||||||
|
</li>
|
||||||
|
}' "$NAV_FILE"
|
||||||
|
|
||||||
|
# Vérifier que la modification a réussi
|
||||||
|
if grep -q 'href="/team"' "$NAV_FILE"; then
|
||||||
|
echo "✅ Lien Équipe ajouté au composant Navigation"
|
||||||
|
echo "📄 Vérification du contenu modifié:"
|
||||||
|
grep -A 3 'href="/team"' "$NAV_FILE"
|
||||||
|
else
|
||||||
|
echo "❌ Échec: Lien Équipe non trouvé après modification avec sed"
|
||||||
|
echo "🔄 Tentative avec Python..."
|
||||||
|
# Fallback avec Python
|
||||||
python3 << 'PYTHON_SCRIPT'
|
python3 << 'PYTHON_SCRIPT'
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
nav_file = sys.argv[1]
|
nav_file = sys.argv[1]
|
||||||
print(f"📝 Modification de {nav_file}")
|
print(f"📝 Modification de {nav_file} avec Python")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with open(nav_file, 'r') as f:
|
with open(nav_file, 'r') as f:
|
||||||
content = f.read()
|
lines = f.readlines()
|
||||||
|
|
||||||
# Trouver la fin du lien Overview et insérer le nouveau lien avant le commentaire
|
# Trouver l'index de la ligne avec </Link> après overview
|
||||||
pattern = r'(</Link>\s*</li>\s*)(\{/\*)'
|
insert_index = -1
|
||||||
replacement = r'\1 <li className={styles.item}>\n <Link href="/team">\n <span className={styles.label}>👥 Équipe</span>\n </Link>\n </li>\n \2'
|
for i, line in enumerate(lines):
|
||||||
|
if 'href="/overview"' in line:
|
||||||
|
# Chercher la ligne </Link> qui suit
|
||||||
|
for j in range(i, min(i+10, len(lines))):
|
||||||
|
if '</Link>' in lines[j] and '</li>' in lines[j+1] if j+1 < len(lines) else False:
|
||||||
|
insert_index = j + 2 # Après </li>
|
||||||
|
break
|
||||||
|
break
|
||||||
|
|
||||||
new_content = re.sub(pattern, replacement, content)
|
if insert_index > 0:
|
||||||
|
# Insérer le nouveau lien
|
||||||
|
new_lines = [
|
||||||
|
' <li className={styles.item}>\n',
|
||||||
|
' <Link href="/team">\n',
|
||||||
|
' <span className={styles.label}>👥 Équipe</span>\n',
|
||||||
|
' </Link>\n',
|
||||||
|
' </li>\n'
|
||||||
|
]
|
||||||
|
lines[insert_index:insert_index] = new_lines
|
||||||
|
|
||||||
if new_content == content:
|
with open(nav_file, 'w') as f:
|
||||||
print("⚠️ Aucune modification effectuée, pattern non trouvé")
|
f.writelines(lines)
|
||||||
print("Contenu autour de Overview:")
|
print("✅ Navigation.tsx modifié avec succès (Python)")
|
||||||
lines = content.split('\n')
|
else:
|
||||||
|
print("❌ Impossible de trouver l'emplacement pour insérer le lien")
|
||||||
|
print("Contenu autour de overview:")
|
||||||
for i, line in enumerate(lines):
|
for i, line in enumerate(lines):
|
||||||
if 'overview' in line.lower():
|
if 'overview' in line.lower():
|
||||||
print(f"Ligne {i}: {line}")
|
for j in range(max(0, i-2), min(len(lines), i+10)):
|
||||||
if i+1 < len(lines):
|
print(f"{j}: {lines[j]}", end='')
|
||||||
print(f"Ligne {i+1}: {lines[i+1]}")
|
|
||||||
if i+2 < len(lines):
|
|
||||||
print(f"Ligne {i+2}: {lines[i+2]}")
|
|
||||||
break
|
break
|
||||||
else:
|
sys.exit(1)
|
||||||
with open(nav_file, 'w') as f:
|
|
||||||
f.write(new_content)
|
|
||||||
print("✅ Navigation.tsx modifié avec succès")
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"❌ Erreur lors de la modification: {e}")
|
print(f"❌ Erreur lors de la modification: {e}")
|
||||||
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
PYTHON_SCRIPT
|
PYTHON_SCRIPT
|
||||||
"$NAV_FILE"
|
"$NAV_FILE"
|
||||||
|
|
||||||
# Vérifier que la modification a réussi
|
# Vérifier à nouveau
|
||||||
if grep -q 'href="/team"' "$NAV_FILE"; then
|
if grep -q 'href="/team"' "$NAV_FILE"; then
|
||||||
echo "✅ Lien Équipe ajouté au composant Navigation"
|
echo "✅ Lien Équipe ajouté au composant Navigation (Python)"
|
||||||
else
|
else
|
||||||
echo "❌ Échec: Lien Équipe non trouvé après modification"
|
echo "❌ Échec: Lien Équipe non trouvé après modification"
|
||||||
|
echo "📄 Contenu actuel de Navigation.tsx:"
|
||||||
|
cat "$NAV_FILE"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "ℹ️ Lien Équipe déjà présent dans Navigation"
|
echo "ℹ️ Lien Équipe déjà présent dans Navigation"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user