{# ============================================================================ Champs du formulaire entreprise - réutilisable entre add et edit Utilise Tailwind CSS - Compatible avec les formulaires Symfony ============================================================================ #} {% set inputClass = 'w-full px-4 py-2.5 border border-gray-200 rounded-xl bg-white text-gray-900 placeholder-gray-400 focus:ring-2 focus:ring-primary/20 focus:border-primary transition-colors' %} {% set labelClass = 'block text-sm font-medium text-gray-700' %}
{# ================================================================ COLONNE GAUCHE : Informations principales + Adresse ================================================================ #} {% embed '_molecules/card/card.html.twig' with { title: 'Informations', icon: 'home', iconColor: 'primary' } %} {% block body %}
{# Nom #}
{{ form_label(form.name, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.name, { 'attr': {'class': inputClass} }) }} {{ form_errors(form.name) }}
{# Description #}
{{ form_label(form.description, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.description, { 'attr': { 'class': inputClass ~ ' resize-none', 'rows': '2' } }) }} {{ form_errors(form.description) }}
{# SIRET #}
{{ form_label(form.siret, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.siret, { 'attr': {'class': inputClass} }) }} {% if form.siret.vars.help %}

{{ form.siret.vars.help }}

{% endif %} {{ form_errors(form.siret) }}
{# Adresse (avec autocomplete) #}
{{ form_label(form.address, null, { 'label_attr': {'class': labelClass} }) }}
{{ form_widget(form.address, { 'attr': { 'class': inputClass, 'data-admin--address-autocomplete-target': 'address', 'data-action': 'input->admin--address-autocomplete#onAddressInput', 'autocomplete': 'off' } }) }}
{{ form_errors(form.address) }}
{# Code postal + Ville #}
{{ form_label(form.postalCode, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.postalCode, { 'attr': { 'class': inputClass, 'data-admin--address-autocomplete-target': 'postalCode' } }) }} {{ form_errors(form.postalCode) }}
{{ form_label(form.city, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.city, { 'attr': { 'class': inputClass, 'data-admin--address-autocomplete-target': 'city' } }) }} {{ form_errors(form.city) }}
{% endblock %} {% endembed %} {# ================================================================ COLONNE DROITE : Contact + Configuration Moodle ================================================================ #}
{# ----- Contact ----- #} {% embed '_molecules/card/card.html.twig' with { title: 'Contact', icon: 'mail', iconColor: 'primary' } %} {% block body %}
{# Email #}
{{ form_label(form.email, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.email, { 'attr': {'class': inputClass} }) }} {{ form_errors(form.email) }}
{# Téléphone #}
{{ form_label(form.phone, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.phone, { 'attr': {'class': inputClass} }) }} {{ form_errors(form.phone) }}
{# Site web #}
{{ form_label(form.website, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.website, { 'attr': {'class': inputClass} }) }} {{ form_errors(form.website) }}
{% endblock %} {% endembed %} {# ----- Configuration Moodle ----- #} {% embed '_molecules/card/card.html.twig' with { title: 'Configuration Moodle', icon: 'settings', iconColor: 'primary' } %} {% block body %}
{# URL Moodle #}
{{ form_label(form.moodleUrl, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.moodleUrl, { 'attr': {'class': inputClass} }) }} {% if form.moodleUrl.vars.help %}

{{ form.moodleUrl.vars.help }}

{% endif %} {{ form_errors(form.moodleUrl) }}
{# Token API Moodle #}
{{ form_label(form.moodleToken, null, { 'label_attr': {'class': labelClass} }) }} {{ form_widget(form.moodleToken, { 'attr': {'class': inputClass} }) }} {% if form.moodleToken.vars.help %}

{{ form.moodleToken.vars.help }}

{% endif %} {{ form_errors(form.moodleToken) }}
{% endblock %} {% endembed %}