{% extends "base.html" %} {% from 'components/common/macros.html' import hero_section, action_card, progress_indicator, stat_card %} {% block title %}{{ class_group.name }} - Dashboard{% endblock %} {# Override le style du main container pour éviter le clipping des hover effects #} {% block main_class %}w-full px-8 py-8 bg-gray-100{% endblock %} {% block content %}
{# 1. Hero Section avec Contexte de Classe #} {% set meta_info = [ { 'icon': '', 'text': class_group.students|length ~ ' élèves' }, { 'icon': '', 'text': 'Trimestre ' ~ (selected_trimester or 'Global') }, { 'icon': '', 'text': (class_group.assessments|selectattr('grading_progress.status', 'ne', 'completed')|list|length) ~ ' évaluations en attente' } ] %} {{ hero_section( title=class_group.name ~ " 🏫", subtitle="Dashboard de gestion de classe", meta_info=meta_info, gradient_class="from-indigo-600 to-purple-600" ) }} {# Breadcrumb de retour #} {# 2. Actions Principales avec Code Couleur Prioritaire #}
{# Action ROUGE - Corrections en attente (priorité max) #} {% set pending_assessments = class_group.assessments|selectattr('grading_progress.status', 'ne', 'completed')|list %} {% if pending_assessments %}

Terminer corrections

{{ pending_assessments|length }} évaluation(s) en attente

{% endif %} {# Action VERTE - Nouvelle évaluation #}

Nouvelle évaluation

Créer pour {{ class_group.name }}

{# Action BLEUE - Gérer les élèves #}

Gérer élèves

{% if class_group._current_students %}{{ class_group._current_students|length }}{% else %}{{ class_group.students|length }}{% endif %} élèves inscrits

{# Action ORANGE - Préparation conseil de classe #}

Préparer conseil

Appréciations élèves

{# 3. Dashboard Statistiques par Trimestre #}
{# Header de la section #}

Statistiques par trimestre

Données temps réel
{# Navigation tabs des trimestres #}
{# 4 Cards de statistiques en grid responsive #}
{# Card 1 - Domaines #}

Domaines

0
domaines évalués
{# Card 2 - Compétences #}

Compétences

0
compétences évaluées
{# Card 3 - Résultats #}

Résultats

0.0
moyenne générale
0 évaluation(s)
Min: 0.0
Max: 0.0
Médiane: 0.0
Écart-type: 0.0
{# Histogramme des moyennes des élèves #}

Distribution des moyennes

{# 4. Tableau de Bord Évaluations #}

Toutes les Évaluations

{{ class_group.assessments|length }} évaluations
{% if class_group.assessments %}
{% for assessment in class_group.assessments|sort(attribute='date', reverse=True) %}
{{ assessment.title[0].upper() }}

{{ assessment.title }}

{{ assessment.date.strftime('%d/%m/%Y') }} Coeff. {{ assessment.coefficient }} T{{ assessment.trimester }}
{# Indicateur de progression #} {{ progress_indicator(assessment.grading_progress, clickable=True, assessment_id=assessment.id, compact=True) }} {# Action directe selon statut #} {% if assessment.grading_progress.status == 'completed' %} Voir résultats {% else %} Noter {% endif %}
{% endfor %}
{% else %}

Aucune évaluation pour cette classe

Créez votre première évaluation pour cette classe

Créer une évaluation
{% endif %}
{# 5. Aperçu Élèves (simplifié) #}

Élèves de la classe

{{ class_group.students|length }} élèves
{% if class_group.students %}
Effectif complet : {{ class_group.students|length }} élèves
Voir tous les élèves
{% else %}

Aucun élève inscrit

Ajoutez des élèves à cette classe pour commencer les évaluations

Ajouter des élèves
{% endif %}
{% endblock %} {% block head %} {% endblock %}