from .models import Identity, SocialLink, SkillCategory, Language, Interest

def sidebar_context(request):
    """
    Injecte les données de la sidebar dans tous les templates.
    Clé d'accès dans le HTML : {{ sidebar.identity.name }}
    """
    try:
        identity = Identity.objects.first()
    except:
        identity = None
    
    # On récupère les catégories avec leurs compétences pré-chargées (Optimisation SQL)
    skill_categories = SkillCategory.objects.prefetch_related('skills').all()
    
    return {
        'sidebar': {
            'identity': identity,
            'skill_categories': skill_categories,
            'social_links': SocialLink.objects.all(),
            'languages': Language.objects.all(),
            'interests': Interest.objects.all(),
        }
    }