{% extends 'base.html.twig' %} {% block title %}Activity List - Design System - Bubul{% endblock %} {% block body %}
{% include '_atoms/icon/icon.html.twig' with { name: 'chevron-left', size: 'sm', color: 'gray' } %}
Organisme /

Activity List

Liste d'activités récentes avec card et pagination

{# ===== EXPLICATION ===== #}
{% include '_atoms/icon/icon.html.twig' with { name: 'clock', size: 'lg', color: 'white' } %}

Liste d'activités

Réutilisable

Organisme complet affichant une liste d'activités utilisateur dans une card avec header, lien "Voir plus" optionnel, et état vide. Utilisé sur le dashboard et les pages admin.

1

Molécule

8

Paramètres

2

Pages

{# ===== PARAMÈTRES ===== #}

{% include '_atoms/icon/icon.html.twig' with { name: 'settings', size: 'sm', color: 'gray' } %} Paramètres

Paramètre Type Défaut Description
activities array [] Liste des activités à afficher
title string 'Activité récente' Titre de la section
viewMoreHref string null Lien "Voir plus" (optionnel)
maxHeight string '400px' Hauteur max scrollable
emptyTitle string 'Aucune activité...' Titre de l'état vide
emptyDesc string 'Les activités...' Description de l'état vide
showBadge bool true Afficher les badges outils
compact bool false Mode compact (moins d'espace)
{# ===== EXEMPLES ===== #}

{% include '_atoms/icon/icon.html.twig' with { name: 'eye', size: 'sm', color: 'gray' } %} Exemples

{# Avec activités #}

Avec activités

{% set demoActivities = [ {title: 'Génération du cours "Introduction à Python"', type: 'moodia', tokens: 2500, energy: 0.75, createdAt: "now"|date_modify("-2 hours")}, {title: 'Conversation sur les méthodes pédagogiques', type: 'serenia', tokens: 850, energy: 0.255, createdAt: "now"|date_modify("-1 day")}, {title: 'Présentation PowerPoint (15 slides)', type: 'slidia', tokens: 3200, energy: 0.96, createdAt: "now"|date_modify("-2 days")}, {title: 'Infographie "Les énergies renouvelables"', type: 'monalisia', tokens: 1800, energy: 0.54, createdAt: "now"|date_modify("-3 days")}, {title: 'Génération audio du module "Sécurité au travail"', type: 'castia', tokens: 4100, energy: 1.23, createdAt: "now"|date_modify("-4 days")} ] %} {% include '_organisms/activity-list/activity-list.html.twig' with { activities: demoActivities, viewMoreHref: '#' } only %}
{# État vide #}

État vide

{% include '_organisms/activity-list/activity-list.html.twig' with { activities: [], emptyTitle: 'Pas encore d\'activité', emptyDesc: 'Commencez à utiliser les outils pour voir vos activités ici.' } only %}
{# ===== CODE ===== #}

{% include '_atoms/icon/icon.html.twig' with { name: 'document', size: 'sm', color: 'gray' } %} Utilisation

{% verbatim %}{% include '_organisms/activity-list/activity-list.html.twig' with {
    activities: recentActivities,
    title: 'Activité récente',
    viewMoreHref: path('admin_user_activities', {uuid: user.uuid}),
    emptyTitle: 'Aucune activité',
    emptyDesc: 'Les activités apparaîtront ici.'
} only %}{% endverbatim %}
{# ===== STRUCTURE DES DONNÉES ===== #}

{% include '_atoms/icon/icon.html.twig' with { name: 'list', size: 'sm', color: 'gray' } %} Structure des activités

{% verbatim %}{# Chaque activité peut avoir ces propriétés : #}
{
    title: 'Description de l\'activité',        // ou description
    tool: { code: 'moodia', name: 'Moodia' },   // ou type/activityType
    tokens: 1500,                                // ou tokensUsed
    energy: 0.45,                                // ou energyConsumedWh
    date: DateTimeInterface                      // ou createdAt
}{% endverbatim %}
{% endblock %}