refactor(gallery): add attachment_gallery_item component

This commit is contained in:
Eric Leroy-Terquem 2024-09-06 17:17:57 +02:00
parent 6b1c6a796a
commit bae752f1aa
No known key found for this signature in database
GPG key ID: 53D8FAECEF207605
6 changed files with 96 additions and 39 deletions

View file

@ -4,32 +4,5 @@
.fr-container
.gallery.gallery-pieces-jointes{ "data-controller": "lightbox" }
- @attachments_and_libelles.each do |attachment, libelle|
.gallery-item
- blob = attachment.blob
- if displayable_pdf?(blob)
= link_to blob.url, id: blob.id, data: { iframe: true, src: blob.url }, class: 'gallery-link', type: blob.content_type, title: "#{libelle} -- #{sanitize(blob.filename.to_s)}" do
.thumbnail
= image_tag(preview_url_for(attachment), loading: :lazy)
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
Visualiser
.champ-libelle
= libelle.truncate(25)
= render Attachment::ShowComponent.new(attachment: attachment, truncate: true)
- elsif displayable_image?(blob)
= link_to image_url(blob_url(attachment)), title: "#{libelle} -- #{sanitize(blob.filename.to_s)}", data: { src: blob.url }, class: 'gallery-link' do
.thumbnail
= image_tag(variant_url_for(attachment), loading: :lazy)
.fr-btn.fr-btn--tertiary.fr-btn--icon-left.fr-icon-eye{ role: :button }
Visualiser
.champ-libelle
= libelle.truncate(25)
= render Attachment::ShowComponent.new(attachment: attachment, truncate: true)
- else
.thumbnail
= image_tag('apercu-indisponible.png')
.champ-libelle
= libelle.truncate(25)
= render Attachment::ShowComponent.new(attachment: attachment, truncate: true)
- @gallery_attachments.each do |attachment|
= render Attachment::GalleryItemComponent.new(attachment:)