{# Une carte du deck Découverte (cover = héros), à partir d'un ProviderBookResult (`card`). source/externalId : 'bdd'+workPublicId si matérialisé, sinon provider id (résolu/matérialisé au clic d'action). Les boutons d'action sont SOUS la pile (cf. _deck.html.twig), pas dans la carte. #} {% set tparts = book_title_parts(card.title, card.subtitle|default('')) %} {% set author = card.authors[0]|default('') %} {% if card.workPublicId %} {% set external = { source: 'bdd', id: card.workPublicId } %} {% set href = path('app_work_show', { publicId: card.workPublicId }) %} {% else %} {% set external = { source: card.source, id: (card.source == 'openlibrary' ? card.openLibraryId : card.googleBooksId) } %} {% set href = path('app_work_lookup', { source: card.source, id: external.id }) %} {% endif %} {% set fallback_url = path('covers_resolve', { title: card.title, author: author }) %}
Voir la fiche Couverture de {{ tparts.main }}

{{ tparts.main }}

{%- if author %}{{ author }}{% endif -%} {%- if card.averageRating and card.ratingsCount > 0 -%} {% if author %} · {% endif %} {{ card.averageRating|number_format(1) }} {%- endif -%}

{% if card.description %}

{{ card.description }}

{% if card.description|length > 170 %} {% endif %} {% endif %} {% if card.recoHook %}

{{ card.recoHook }}

{% endif %}
{# Note + commentaire, révélés par-dessus le voile cyan quand « Déjà lu » est sélectionné. Étoiles instantanées ; commentaire actif une fois noté. #}

Ta note

{% for i in 1..5 %} {% endfor %}