#!/usr/bin/env python3
"""
Script pour ajouter la navigation cohérente aux pages de documentation
"""
import re
from pathlib import Path

# Template navbar à insérer
NAVBAR_HTML = '''    <!-- Navigation -->
    <nav class="navbar">
        <div class="nav-container">
            <a href="https://web-sentinel.taaazzz-prog.fr" class="nav-logo">🛡️ Web Sentinel</a>
            <ul class="nav-links">
                <li><a href="https://web-sentinel.taaazzz-prog.fr">🏠 Accueil</a></li>
                <li class="dropdown">
                    <a href="https://docs.web-sentinel.taaazzz-prog.fr" class="active">📖 Documentation ▾</a>
                    <div class="dropdown-content">
                        <a href="https://docs.web-sentinel.taaazzz-prog.fr">📚 API Reference</a>
                        <a href="https://web-sentinel.taaazzz-prog.fr/docs/auth-api.html">🔐 Authentification</a>
                        <a href="https://web-sentinel.taaazzz-prog.fr/docs/tier-limits.html">📊 Limites & Quotas</a>
                        <a href="https://web-sentinel.taaazzz-prog.fr/docs/changelog.html">📝 Changelog</a>
                        <a href="https://web-sentinel.taaazzz-prog.fr/docs/faq.html">❓ FAQ</a>
                    </div>
                </li>
                <li><a href="https://install.web-sentinel.taaazzz-prog.fr">📦 Installation</a></li>
                <li><a href="https://stats.web-sentinel.taaazzz-prog.fr">📊 Statistiques</a></li>
                <li><a href="https://web-sentinel.taaazzz-prog.fr/pricing.html">💳 Tarifs</a></li>
                <li><a href="https://web-sentinel.taaazzz-prog.fr/account.html">👤 Mon Compte</a></li>
                <li><a href="https://api.web-sentinel.taaazzz-prog.fr/api/v1/health" target="_blank">🔌 API</a></li>
            </ul>
        </div>
    </nav>
    
'''

# CSS à ajouter pour la navbar et dropdown
NAV_CSS = '''
        /* Navigation */
        .navbar { background: #2c3e50; color: white; padding: 15px 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        .nav-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
        .nav-logo { font-size: 1.5rem; font-weight: bold; color: white; text-decoration: none; display: flex; align-items: center; gap: 10px; }
        .nav-links { display: flex; gap: 25px; list-style: none; flex-wrap: wrap; }
        .nav-links li { position: relative; }
        .nav-links a { color: white; text-decoration: none; transition: color 0.3s; display: flex; align-items: center; gap: 5px; }
        .nav-links a:hover { color: #3498db; }
        .nav-links a.active { color: #3498db; border-bottom: 2px solid #3498db; padding-bottom: 2px; }
        .dropdown { position: relative; }
        .dropdown-content { display: none; position: absolute; top: 100%; left: 0; background: #34495e; min-width: 200px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); border-radius: 5px; margin-top: 0; padding-top: 10px; z-index: 1000; }
        .dropdown-content a { padding: 12px 16px; display: block; border-radius: 5px; }
        .dropdown-content a:hover { background: #2c3e50; }
        .dropdown:hover .dropdown-content { display: block; }
        @media (max-width: 768px) { .nav-container { flex-direction: column; gap: 15px; } .nav-links { flex-direction: column; align-items: center; } .dropdown-content { position: static; margin-top: 5px; } }
'''

# Nouveau footer
FOOTER_LINKS = '''                <a href="https://web-sentinel.taaazzz-prog.fr">Accueil</a>
                <a href="https://docs.web-sentinel.taaazzz-prog.fr">API Docs</a>
                <a href="https://web-sentinel.taaazzz-prog.fr/docs/changelog.html">Changelog</a>
                <a href="https://web-sentinel.taaazzz-prog.fr/docs/faq.html">FAQ</a>
                <a href="https://install.web-sentinel.taaazzz-prog.fr">Installation</a>
                <a href="https://stats.web-sentinel.taaazzz-prog.fr">Statistiques</a>
                <a href="https://web-sentinel.taaazzz-prog.fr/privacy">Confidentialité</a>
                <a href="https://web-sentinel.taaazzz-prog.fr/legal">Mentions Légales</a>
                <a href="https://web-sentinel.taaazzz-prog.fr/terms">CGU</a>
                <a href="mailto:contact@taaazzz-prog.fr">Contact</a>'''

def update_file(filepath):
    """Met à jour un fichier HTML avec la navbar et le footer cohérents"""
    with open(filepath, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 1. Ajouter le CSS de navigation après la balise <style> si pas déjà présent
    if '.navbar' not in content:
        content = re.sub(
            r'(<style>\s*\*\s*{[^}]+})',
            r'\1' + NAV_CSS,
            content,
            count=1
        )
    
    # 2. Ajouter la navbar après <body> si pas déjà présente
    if '<nav class="navbar">' not in content:
        content = re.sub(
            r'(<body>)',
            r'\1\n' + NAVBAR_HTML,
            content,
            count=1
        )
    
    # 3. Mettre à jour le footer avec les nouveaux liens
    # Chercher le pattern de l'ancien footer
    footer_pattern = r'(<div class="footer-links">)(.*?)(</div>)'
    
    def replace_footer_content(match):
        return match.group(1) + '\n' + FOOTER_LINKS + '\n            ' + match.group(3)
    
    content = re.sub(footer_pattern, replace_footer_content, content, flags=re.DOTALL)
    
    # 4. Renommer .nav-links en .footer-links dans les styles du footer
    # Chercher les styles de footer qui utilisent .nav-links
    content = re.sub(
        r'\.nav-links\s*{\s*margin-top:\s*20px;\s*}',
        '.footer-links { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 20px; }',
        content
    )
    
    content = re.sub(
        r'\.nav-links a\s*{([^}]*margin:\s*0\s*15px[^}]*)}',
        '.footer-links a { color: #3498db; text-decoration: none; }',
        content
    )
    
    content = re.sub(
        r'\.nav-links a:hover\s*{([^}]*text-decoration:\s*underline[^}]*)}',
        '.footer-links a:hover { text-decoration: underline; }',
        content
    )
    
    # Écrire le fichier mis à jour
    with open(filepath, 'w', encoding='utf-8') as f:
        f.write(content)
    
    print(f"✅ Mis à jour: {filepath.name}")

def main():
    """Point d'entrée principal"""
    docs_dir = Path(__file__).parent.parent / 'web' / 'docs'
    
    files_to_update = [
        docs_dir / 'auth-api.html',
        docs_dir / 'tier-limits.html',
        docs_dir / 'faq.html',
    ]
    
    for filepath in files_to_update:
        if filepath.exists():
            update_file(filepath)
        else:
            print(f"❌ Fichier introuvable: {filepath}")
    
    print("\n✨ Mise à jour terminée!")

if __name__ == '__main__':
    main()
