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) %>