fix: améliorer le script Python pour éviter les doublons du lien Équipe
- le script vérifie maintenant si le lien existe déjà - si plusieurs occurrences sont détectées, elles sont supprimées - évite la création de doublons lors de rebuilds multiples
This commit is contained in:
@@ -118,13 +118,56 @@ export default TeamPage;
|
||||
EOF
|
||||
RUN echo "✅ Page team.tsx créée"
|
||||
|
||||
# Script Python pour ajouter le lien Équipe dans Navigation.tsx
|
||||
# Script Python pour ajouter le lien Équipe dans Navigation.tsx (évite les doublons)
|
||||
RUN cat > /tmp/add_team_link.py << 'PYEOF'
|
||||
import sys
|
||||
import re
|
||||
f = ".techradar/src/components/Navigation/Navigation.tsx"
|
||||
with open(f, 'r') as file:
|
||||
lines = file.readlines()
|
||||
content = file.read()
|
||||
|
||||
# Vérifier si le lien existe déjà (compter les occurrences)
|
||||
team_link_count = len(re.findall(r'href=["\']/team["\']', content))
|
||||
if team_link_count > 0:
|
||||
print(f"ℹ️ Lien Équipe déjà présent ({team_link_count} occurrence(s))")
|
||||
# Si plusieurs occurrences, supprimer les doublons
|
||||
if team_link_count > 1:
|
||||
print("⚠️ Détection de doublons, nettoyage...")
|
||||
lines = content.split('\n')
|
||||
new_lines = []
|
||||
in_team_link = False
|
||||
team_link_added = False
|
||||
skip_until_close = False
|
||||
|
||||
for i, line in enumerate(lines):
|
||||
if 'href="/team"' in line or "href='/team'" in line:
|
||||
if not team_link_added:
|
||||
# Garder la première occurrence
|
||||
in_team_link = True
|
||||
team_link_added = True
|
||||
new_lines.append(line)
|
||||
else:
|
||||
# Ignorer les doublons
|
||||
skip_until_close = True
|
||||
continue
|
||||
elif skip_until_close:
|
||||
if '</li>' in line:
|
||||
skip_until_close = False
|
||||
continue
|
||||
elif in_team_link:
|
||||
new_lines.append(line)
|
||||
if '</li>' in line:
|
||||
in_team_link = False
|
||||
else:
|
||||
new_lines.append(line)
|
||||
|
||||
with open(f, 'w') as file:
|
||||
file.write('\n'.join(new_lines))
|
||||
print("✅ Doublons supprimés")
|
||||
sys.exit(0)
|
||||
|
||||
# Si le lien n'existe pas, l'ajouter
|
||||
lines = content.split('\n')
|
||||
insert_idx = -1
|
||||
for i, line in enumerate(lines):
|
||||
if 'href="/overview"' in line:
|
||||
@@ -136,28 +179,36 @@ for i, line in enumerate(lines):
|
||||
|
||||
if insert_idx > 0:
|
||||
new_lines = lines[:insert_idx] + [
|
||||
' <li className={styles.item}>\n',
|
||||
' <Link href="/team">\n',
|
||||
' <span className={styles.label}>👥 Équipe</span>\n',
|
||||
' </Link>\n',
|
||||
' </li>\n'
|
||||
' <li className={styles.item}>',
|
||||
' <Link href="/team">',
|
||||
' <span className={styles.label}>👥 Équipe</span>',
|
||||
' </Link>',
|
||||
' </li>'
|
||||
] + lines[insert_idx:]
|
||||
with open(f, 'w') as file:
|
||||
file.writelines(new_lines)
|
||||
print("✅ Navigation.tsx modifié")
|
||||
file.write('\n'.join(new_lines))
|
||||
print("✅ Navigation.tsx modifié - lien Équipe ajouté")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("❌ Impossible de trouver l'emplacement")
|
||||
sys.exit(1)
|
||||
PYEOF
|
||||
|
||||
# Modifier Navigation.tsx pour ajouter le lien Équipe
|
||||
RUN if ! grep -q 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx; then \
|
||||
echo "➕ Ajout du lien Équipe dans Navigation.tsx..." && \
|
||||
python3 /tmp/add_team_link.py && \
|
||||
grep -q 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx && echo "✅ Lien Équipe ajouté" || (echo "❌ Lien Équipe non trouvé" && cat .techradar/src/components/Navigation/Navigation.tsx && exit 1); \
|
||||
# Modifier Navigation.tsx pour ajouter le lien Équipe (le script Python gère les doublons)
|
||||
RUN echo "🔧 Modification de Navigation.tsx pour le lien Équipe..." && \
|
||||
python3 /tmp/add_team_link.py && \
|
||||
team_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx || echo "0") && \
|
||||
if [ "$$team_count" -eq "1" ]; then \
|
||||
echo "✅ Lien Équipe présent (1 occurrence)"; \
|
||||
elif [ "$$team_count" -gt "1" ]; then \
|
||||
echo "⚠️ Plusieurs occurrences détectées ($$team_count), le script Python devrait les avoir nettoyées"; \
|
||||
python3 /tmp/add_team_link.py; \
|
||||
final_count=$$(grep -c 'href="/team"' .techradar/src/components/Navigation/Navigation.tsx || echo "0") && \
|
||||
echo "✅ Après nettoyage: $$final_count occurrence(s)"; \
|
||||
else \
|
||||
echo "ℹ️ Lien Équipe déjà présent dans Navigation.tsx"; \
|
||||
echo "❌ Lien Équipe non trouvé après modification" && \
|
||||
cat .techradar/src/components/Navigation/Navigation.tsx && \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
# Builder l'application en mode production pour éviter Fast Refresh
|
||||
|
||||
Reference in New Issue
Block a user