{# Card de résultat à partir d'un ProviderBookResult (DTO BookSearchService). À la différence de _hit_card.html.twig (qui rend un SearchHit Meili pour un Work déjà matérialisé), ce partial rend un livre découvert via Google Books ou Open Library. Le clic passe par /livres/lookup qui matérialise à la volée le Work + Edition en BDD, puis redirige vers la fiche canonique. Préfixe le hit par un eyebrow discret rappelant la source (GB / OL) pour nous, debug. À retirer ou rendre conditionnel si jugé bruyant en UX. #} {# Hit déjà rattaché à un Work matérialisé (source 'bdd', ou hit GB/OL patché) : lien DIRECT vers la fiche, plus rapide et sans 404 sur les hits 'bdd' qui n'ont pas d'externalId provider. Sinon : lookup→matérialisation à la volée. #} {% if hit.workPublicId %} {% set href = path('app_work_show', { publicId: hit.workPublicId }) %} {% else %} {% set href = path('app_work_lookup', { source: hit.source, id: hit.source == 'openlibrary' ? hit.openLibraryId : hit.googleBooksId }) %} {% endif %} {% set fallback_url = path('covers_resolve', { title: hit.title, author: hit.authors[0]|default('') }) %}