diff --git a/app/models/communication/block/template/video.rb b/app/models/communication/block/template/video.rb index 2b531d56d..213ea47a5 100644 --- a/app/models/communication/block/template/video.rb +++ b/app/models/communication/block/template/video.rb @@ -11,6 +11,11 @@ def video_iframe video_provider.iframe_tag(title: video_iframe_title) end + # Utilisé dans les show et les snippets + def video_iframe_preview + video_provider.iframe_preview_tag(title: video_iframe_title) + end + def video_iframe_title video_title.blank? ? 'Video' : video_title diff --git a/app/services/video/provider/arte.rb b/app/services/video/provider/arte.rb index 68cd5c4a7..c2ee8acf1 100644 --- a/app/services/video/provider/arte.rb +++ b/app/services/video/provider/arte.rb @@ -33,6 +33,10 @@ def embed_with_defaults "#{iframe_url}?autoplay=true&mute=0" end + def embed_for_preview + "#{iframe_url}?autoplay=false" + end + def title data_from_api['data']['attributes']['metadata']['title'] rescue diff --git a/app/services/video/provider/default.rb b/app/services/video/provider/default.rb index da407217d..90d3d6b05 100644 --- a/app/services/video/provider/default.rb +++ b/app/services/video/provider/default.rb @@ -45,10 +45,21 @@ def embed_with_defaults embed end + def embed_for_preview + embed + end + def iframe_tag(**iframe_options) content_tag(:iframe, nil, default_iframe_options.merge(iframe_options)) end + # iframe used in show and snippet + def iframe_preview_tag(**iframe_options) + options = default_iframe_options.merge(iframe_options) + options[:src] = embed_for_preview + content_tag(:iframe, nil, options) + end + def correct? url_in_domains? end diff --git a/app/services/video/provider/vimeo.rb b/app/services/video/provider/vimeo.rb index 94e8d3de2..4ebafa100 100644 --- a/app/services/video/provider/vimeo.rb +++ b/app/services/video/provider/vimeo.rb @@ -28,6 +28,10 @@ def embed_with_defaults "#{iframe_url}?autoplay=1&quality=360p&dnt=1" end + def embed_for_preview + "#{iframe_url}?autoplay=0" + end + def title info = Vimeo::Simple::Video.info(identifier) info.parsed_response.first['title'] diff --git a/app/views/admin/communication/blocks/templates/video/_show.html.erb b/app/views/admin/communication/blocks/templates/video/_show.html.erb index b120c1f49..7d96ba07e 100644 --- a/app/views/admin/communication/blocks/templates/video/_show.html.erb +++ b/app/views/admin/communication/blocks/templates/video/_show.html.erb @@ -4,7 +4,7 @@ <%= render 'admin/communication/blocks/partials/top', block: block %> <% if block.template.url.present? %>