from django.views.generic import TemplateView
from .models import AboutProfile, Experience, Education, Philosophy

# On importe les Skills de la sidebar pour les réafficher en détail si besoin
from sidebar.models import SkillCategory 

class AboutView(TemplateView):
    template_name = 'about/about.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        
        # 1. Profil & Intro
        context['profile'] = AboutProfile.objects.first()
        
        # 2. Timeline Pro
        context['experiences'] = Experience.objects.all()
        
        # 3. Formation
        context['educations'] = Education.objects.all()
        
        # 4. Philosophie
        context['philosophies'] = Philosophy.objects.all()
        
        # 5. Compétences (Réutilisation propre des données de sidebar)
        # On les renvoie ici pour faciliter le travail du template 'about'
        # qui voudra peut-être les afficher différemment de la sidebar (ex: barres de progression larges)
        context['skill_categories'] = SkillCategory.objects.prefetch_related('skills').all()
        
        return context