diff --git a/app/components/shared/embedded_video_component.html.erb b/app/components/shared/embedded_video_component.html.erb new file mode 100644 index 000000000..fbfff8353 --- /dev/null +++ b/app/components/shared/embedded_video_component.html.erb @@ -0,0 +1,5 @@ +
+
+
+
+
diff --git a/app/helpers/embed_videos_helper.rb b/app/components/shared/embedded_video_component.rb similarity index 55% rename from app/helpers/embed_videos_helper.rb rename to app/components/shared/embedded_video_component.rb index 4d050149b..bfa362a72 100644 --- a/app/helpers/embed_videos_helper.rb +++ b/app/components/shared/embedded_video_component.rb @@ -1,7 +1,17 @@ -module EmbedVideosHelper - def embedded_video_code(resource) - link = resource.video_url - title = t("proposals.show.embed_video_title", proposal: resource.title) +class Shared::EmbeddedVideoComponent < ApplicationComponent + attr_reader :record + + def initialize(record) + @record = record + end + + def render? + record.video_url.present? + end + + def embedded_video_code + link = record.video_url + title = t("proposals.show.embed_video_title", proposal: record.title) if link =~ /vimeo.*/ server = "Vimeo" elsif link =~ /youtu*.*/ @@ -9,10 +19,10 @@ module EmbedVideosHelper end if server == "Vimeo" - reg_exp = resource.class::VIMEO_REGEX + reg_exp = record.class::VIMEO_REGEX src = "https://player.vimeo.com/video/" elsif server == "YouTube" - reg_exp = resource.class::YOUTUBE_REGEX + reg_exp = record.class::YOUTUBE_REGEX src = "https://www.youtube.com/embed/" end diff --git a/app/views/legislation/proposals/show.html.erb b/app/views/legislation/proposals/show.html.erb index b1485fd99..7ef241fac 100644 --- a/app/views/legislation/proposals/show.html.erb +++ b/app/views/legislation/proposals/show.html.erb @@ -65,13 +65,7 @@
<%= @proposal.summary %>
- <% if @proposal.video_url.present? %> -
-
-
-
-
- <% end %> + <%= render Shared::EmbeddedVideoComponent.new(@proposal) %> <%= auto_link_already_sanitized_html wysiwyg(@proposal.description) %> diff --git a/app/views/proposals/_info.html.erb b/app/views/proposals/_info.html.erb index 23def8f68..3e443b243 100644 --- a/app/views/proposals/_info.html.erb +++ b/app/views/proposals/_info.html.erb @@ -30,13 +30,7 @@
<%= @proposal.summary %>
-<% if @proposal.video_url.present? %> -
-
-
-
-
-<% end %> +<%= render Shared::EmbeddedVideoComponent.new(@proposal) %> <%= auto_link_already_sanitized_html wysiwyg(@proposal.description) %>