{# Actualité content block - text + image (handles both left and right desktop variants) Parameters: - block (object): block data with `id`, `type`, `fields.{title,subtitle,content,image,imagePath,mobileImagePosition,buttonLabel,buttonHref}` (`image` = media UUID for editor's data-media-id; `imagePath` = resolved file path for , set by ActualitePageEnricher) - imagePosition (string): 'left'|'right' - desktop flex order, drives `actualite-block--image-left`/`--image-right` - mobileImagePosition (string): 'before'|'after' - mobile stacking order, independent of `imagePosition` (Decision #6) #} {% set positionModifier = imagePosition == 'left' ? 'actualite-block--image-left' : 'actualite-block--image-right' %} {% set mobilePositionModifier = mobileImagePosition == 'after' ? 'actualite-block--mobile-image-after' : 'actualite-block--mobile-image-before' %}
{% if editMode|default(false) %} {{ include('components/_actualite-block-controls.html.twig', { showMobilePositionToggle: true, mobileImagePosition: mobileImagePosition|default('before') }) }} {% endif %} {% if block.fields.image is defined and block.fields.image or block.fields.imageDark|default(false) or editMode|default(false) %}
{% if editMode|default(false) and not (block.fields.image|default(false) or block.fields.imageDark|default(false)) %} + Ajouter une image {% endif %} {% include 'components/_themed_img.html.twig' with {light: block.fields.imagePath|default(''), dark: block.fields.imageDarkPath|default(''), alt: block.fields.title|default(''), class: 'actualite-block__img'} only %}
{% endif %}
{% if (block.fields.title is defined and block.fields.title) or editMode|default(false) %}

{{ block.fields.title|default('') }}

{% endif %} {% if (block.fields.subtitle is defined and block.fields.subtitle) or editMode|default(false) %}

{{ block.fields.subtitle|default('') }}

{% endif %} {% if (block.fields.content is defined and block.fields.content) or editMode|default(false) %}
{{ block.fields.content|default('')|raw }}
{% endif %} {% set buttonLabel = block.fields.buttonLabel|default('') %} {% if (block.fields.buttonHref is defined and block.fields.buttonHref and buttonLabel) or editMode|default(false) %} {% set content %}{{ buttonLabel|default('Label du bouton') }}{% endset %} {{ include('components/_button.html.twig', editMode|default(false) ? { href: block.fields.buttonHref|default('#'), content: content, extra_class: 'link-btn--on-content', attrs: 'data-editable-href="true" data-field="buttonHref" data-label-field="buttonLabel" data-label-value="' ~ buttonLabel|e('html_attr') ~ '"' } : { href: block.fields.buttonHref, content: content, extra_class: 'link-btn--on-content' }) }} {% endif %}