{% extends 'base.html.twig' %} {% block title %}Choice Page - Design System - Bubul{% endblock %} {% block body %}
← Design System

Choice Page

Gabarit de la page « comment voulez-vous commencer ? », partagé entre les pages de création des outils (aujourd'hui Moodia et Scormia). En-tête centré + grille de choice-card + bouton de retour. La grille s'adapte au nombre d'entrées de choices : 3 colonnes à partir de 3 choix, 2 colonnes pour 2 choix.

Trois choix (grille 3 colonnes), avec couleur d'outil

Démontre aussi des choice-card partiellement paramétrées : la première carte est désactivée avec un badge « Pro » et sans features, la seconde utilise action (Stimulus) au lieu de href, la troisième n'a ni features ni badge.

{% include '_organisms/choice-page/choice-page.html.twig' with { icon: 'bubul-slidia', color: tool_color_details['slidia'] ?? null, title: 'Créez votre présentation', subtitle: 'Choisissez votre méthode de démarrage.', choices: [ { title: 'Importer un document', description: 'Carte désactivée avec badge « Pro », sans liste de features.', icon: 'document', color: 'primary', disabled: true, badge: 'Passer en Pro', badgeIcon: 'crown', badgeVariant: 'pro', badgeHref: '#' }, { title: 'Générer avec l\'IA', description: 'Carte pilotée par un data-action Stimulus plutôt qu\'un lien href.', icon: 'magic-stick', color: 'violet', features: [ { text: 'Contenu généré de zéro' }, { text: 'Approche personnalisée' } ], action: 'click->design-system--demo#noop' }, { title: 'Rédiger manuellement', description: 'Carte minimale : ni features, ni badge, juste un lien.', icon: 'edit', color: 'success', href: '#' } ], backLabel: 'Retour à mes présentations', backHref: '#', class: 'max-w-6xl mx-auto px-4 sm:px-6 py-8' } only %}

Deux choix (grille 2 colonnes), sans couleur d'outil ni sous-titre

color et subtitle omis : l'en-tête retombe sur son dégradé primaire par défaut et n'affiche pas de sous-titre. backLabel également omis, pour montrer sa valeur par défaut « Retour ».

{% include '_organisms/choice-page/choice-page.html.twig' with { icon: 'bubul-scormia', title: 'Créez votre module', choices: [ { title: 'Importer un document', description: 'Importez votre PDF, la structure est générée automatiquement.', icon: 'document', color: 'primary', features: [ { text: 'Structure automatique' }, { text: 'Extraction des images' } ], href: '#' }, { title: 'Rédiger manuellement', description: 'Construisez votre module bloc par bloc, sans IA.', icon: 'edit', color: 'success', features: [ { text: 'Contrôle total' }, { text: 'Sans tokens' } ], href: '#' } ], backHref: '#', class: 'max-w-6xl mx-auto px-4 sm:px-6 py-8' } only %}

Paramètres

ParamètreTypeDéfautDescription
iconstring(requis)Nom d'atome de l'outil
colorobjectnullEntrée de tool_color_details
titlestring(requis)Titre de la page
subtitlestringnullSous-titre
choicesarray(requis)Jeux de paramètres de choice-card
backLabelstring'Retour'Libellé du bouton de retour
backHrefstring(requis)Cible du bouton de retour
classstring'min-h-screen max-w-6xl mx-auto px-4 sm:px-6 py-4 lg:py-8'Classes du conteneur

Code

{% verbatim %}{% include '_organisms/choice-page/choice-page.html.twig' with {
    icon: 'bubul-slidia', color: tool_color_details['slidia'],
    title: 'Créez votre présentation',
    subtitle: 'Choisissez votre méthode.',
    choices: [
        { title: 'Importer un document', description: '…', icon: 'document', color: 'primary',
          features: [{ text: 'Structure automatique' }], href: path('app_slidia_configure', {method: 'pdf'}) }
    ],
    backLabel: 'Retour à mes présentations', backHref: path('app_slidia')
} only %}{% endverbatim %}

Fichier : templates/_organisms/choice-page/choice-page.html.twig

{% endblock %}