{% extends 'base.html.twig' %} {% block title %}Modifier le profil · LivreComment{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block app_header %} {% include 'components/_detail_header.html.twig' with { back_fallback: path('app_profile_show', { handle: profile.username }), title: 'Profil' } only %} {% endblock %} {% block body %}

Modifier le profil

{# Avatar : preview + file picker + crop UI (Stimulus avatar-uploader). Le picker accepte HEIC/HEIF (iPhone Photos) — le controller convertit en JPEG côté browser, ouvre Cropper.js en 1:1 forcé, puis place le blob croppé dans un input file caché qui sera submit. #} {% set current_avatar = user_avatar(profile) %}
{% if current_avatar %} {% else %} {# Note : l'image vide affichera le background violet-soft. La lettre initiale est dans le span ci-dessous pour ne pas gêner le swap par le controller. #} {% endif %}
{# Picker visible — déclenche le crop côté JS #} {# Input file caché qui portera le Blob JPEG croppé au submit #} {% if current_avatar %} {% endif %} JPEG, PNG, WebP, HEIC (iPhone)
{# Crop overlay, hidden tant qu'aucune image n'est picked #}
Annuler
{# Préférence d'apparence — hors du form. Stockée localStorage, par appareil. #}

Apparence

Auto suit les réglages de ton appareil.

{% endblock %}