{% extends "layouts/base.html" %} {% from "components/ui.html" import page_header, alert, badge, button, card %} {% from "components/forms.html" import field, textarea_field, select_field, checkbox, submit %} {% block title %}Charte graphique · {{ app_name }}{% endblock %} {% block content %} {{ page_header("Charte graphique", subtitle="Aperçu du thème « Accessible chaleureux » livré par Forge") }} {{ alert("Pour reskinner toute l'application, modifiez le bloc @theme de static/src/input.css (couleurs, polices, rayons), puis recompilez le CSS. Cette page ne fait que montrer le résultat.", level="info") }}

Palette

{% for name, cls in [ ("forge", "bg-forge"), ("forge-dark", "bg-forge-dark"), ("forge-soft", "bg-forge-soft"), ("ocre", "bg-ocre"), ("ink", "bg-ink"), ("muted", "bg-muted"), ("cream", "bg-cream"), ("surface", "bg-surface") ] %}

{{ name }}

{% endfor %}

Typographie

Titre extra-bold

Sous-titre bold

Texte courant, police Figtree, teinte « subtle ».

Texte secondaire, teinte « muted ».

Code : font-mono (JetBrains Mono).

Boutons

{{ button("Primary", variant="primary", href="#") }} {{ button("Secondary", variant="secondary", href="#") }} {{ button("Ghost", variant="ghost", href="#") }} {{ button("Danger", variant="danger", href="#") }}

Badges

{{ badge("forge") }} {{ badge("success", tone="success") }} {{ badge("warning", tone="warning") }} {{ badge("danger", tone="danger") }} {{ badge("neutral", tone="neutral") }}

Alertes

{{ alert("Message d'information.", level="info") }} {{ alert("Opération réussie.", level="success") }} {{ alert("Attention à ce point.", level="warning") }} {{ alert("Une erreur est survenue.", level="error") }}

Champs de formulaire

{% call card() %}
{{ field(name="exemple_nom", label="Nom", placeholder="Votre nom", required=True) }} {{ field(name="exemple_email", label="Courriel", type="email", value="prof@exemple.test", help="Un champ avec valeur et aide.") }} {{ field(name="exemple_erreur", label="Champ en erreur", value="invalide", error="Ce champ est requis.") }} {{ select_field(name="exemple_choix", label="Choix", options=[(1, "Première option"), (2, "Deuxième option")], selected=2) }} {{ textarea_field(name="exemple_texte", label="Description", value="Texte multi-lignes.") }} {{ checkbox(name="exemple_actif", label="Actif") }} {{ submit(label="Enregistrer") }}
{% endcall %} {% endblock %}