{% extends 'admin/layout.html.twig' %} {% block page_title %}{{ title }}{% endblock %} {% block breadcrumb %} /Cartes /{{ title }} {% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block content %}
Général
{# ── Effets uniques (Sort / Botte secrète / Équipement) ── #} {% set singleEffects = card.skills[0].effects ?? [] %} {% set trapTrigger = card.skills[0].activationTrigger ?? '' %} {# ── Trigger d'activation (Botte secrète uniquement) ── #}
{# ── Illustration : galerie locale prioritaire, upload en fallback ── #}
Illustration
{# ─── Preview + chemin courant ─── #}
{% if card.illustration %} Illustration actuelle
{{ card.illustration }}
{% else %}
Aucune illustration sélectionnée
{% endif %}
{# ─── Galerie des artworks locaux ─── #}
{# ─── Upload en fallback ─── #}
Glissez une image ici ou cliquez pour téléverser
{# ── Éléments (1 ou 2 — double-typing autorisé) ── #}
Types élémentaux (0 à 2)
{% set selectedTypes = card.elementalTypes ?? [] %}
{% for slot in 0..1 %}
{% endfor %}
{# ── Faiblesses / Résistances élémentales ── #}
Faiblesses & Résistances (0 à 2 chacun)
{% set weakSel = card.weaknesses ?? [] %} {% set resistSel = card.resistances ?? [] %} {% for slot in 0..1 %}
{% endfor %} {% for slot in 0..1 %}
{% endfor %}
{# ── Passifs : {name, description} ── #}
Passifs
{% if card.passives|length == 0 %}
Aucun passif. Cliquez sur « + Ajouter » pour en créer un.
{% else %} {% for i, p in card.passives %}
{{ _self.effectsEditor('passives[' ~ i ~ '][effects]', p.effects ?? []) }}
{% endfor %} {% endif %}
{# ── Sorts : {name, elementId, cost, description} ── #}
Sorts
{% if card.skills|length == 0 %}
Aucun sort. Cliquez sur « + Ajouter » pour en créer un.
{% else %} {% for i, s in card.skills %}
{{ _self.effectsEditor('skills[' ~ i ~ '][effects]', s.effects ?? []) }}
{% endfor %} {% endif %}
{% include 'admin/_includes/stats_fields.html.twig' with {entity: card} %}
Annuler
{% endblock %} {# ══════════════════════════════════════════════════════════════════════ MACRO : éditeur d'effets JSON (sous chaque skill/passive-row) ══════════════════════════════════════════════════════════════════════ #} {% macro effectsEditor(name, effects) %}
0 %} open{% endif %}> Effets ({{ effects|length }})
{# JSON flags : PRETTY_PRINT (128) | UNESCAPED_UNICODE (256) | UNESCAPED_SLASHES (64) = 448 #}
{% endmacro %}