Skip to content

Commit 5321f35

Browse files
committed
Updating other components needed to get the primary-teachers page migrated over to strapi.
Converted subText to introText on card wrapper (this is a rich text block over a plain text) Added background color to horizontal card Changed the embed code to be a span rather than a div, as its being a div in p tag was causing extras p's to be added
1 parent aaa9339 commit 5321f35

File tree

15 files changed

+100
-12
lines changed

15 files changed

+100
-12
lines changed

app/components/cms/card_wrapper_component/card_wrapper_component.html.erb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
<%= row.with_column("full") do %>
33
<%= title_html if @title %>
44
<% if @intro_text %>
5-
<% render @intro_text.render %>
5+
<div class="govuk-!-margin-bottom-3">
6+
<%= render @intro_text.render %>
7+
</div>
68
<% end %>
79
<div class="cms-card-wrapper__grid" style="<%= cards_per_row %>">
810
<% @cards_block.each do |card| %>

app/components/cms/course_card_component.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ def initialize(title:, banner_text:, course:, description:, image:)
1212
@description = description
1313
@image = image
1414
end
15+
16+
def render?
17+
@course.present?
18+
end
1519
end

app/components/cms/course_card_component/course_card_component.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
&__image {
2828
img {
2929
width: 100%;
30+
height: 190px;
31+
object-fit: cover;
3032
}
3133
}
3234

app/components/cms/horizontal_card_component.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
class Cms::HorizontalCardComponent < ViewComponent::Base
44
delegate :cms_color_theme_class, to: :helpers
55

6-
def initialize(title:, body_blocks:, image: nil, image_link: nil, color_theme: nil, icon_block: nil, spacing: nil, external_title: nil)
6+
def initialize(title:, body_blocks:, image: nil, image_link: nil, color_theme: nil, icon_block: nil, spacing: nil, external_title: nil, background_color: nil)
77
@title = title
88
@body_blocks = body_blocks
99
@image = image
@@ -12,6 +12,7 @@ def initialize(title:, body_blocks:, image: nil, image_link: nil, color_theme: n
1212
@icon_block = icon_block
1313
@spacing = spacing&.downcase
1414
@external_title = external_title
15+
@background_color = background_color
1516
end
1617

1718
def padding

app/components/cms/horizontal_card_component/horizontal_card_component.html.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<%= render GovGridRowComponent.new(additional_classes: "cms-horizontal-card", padding: padding) do |row| %>
1+
<%= render GovGridRowComponent.new(additional_classes: "cms-horizontal-card", padding: padding, background_color: @background_color) do |row| %>
22
<%= row.with_column("full") do %>
33
<% if @external_title %>
44
<h2 class="govuk-heading-m"><%= @external_title %></h2>
@@ -7,7 +7,7 @@
77
<div class="horizontal-card-component__content">
88
<h1 class="govuk-heading-m"><%= @title %></h1>
99
<%= render @body_blocks.render %>
10-
<%= render @icon_block.render if @icon_block%>
10+
<%= render @icon_block.render if @icon_block&.icons&.any? %>
1111
</div>
1212
<% if @image %>
1313
<div class="horizontal-card-component__image">

app/components/cms/rich_text_block_component.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def call
8686
if @blocks[:text] == "---"
8787
content_tag(:hr)
8888
elsif @blocks[:code]
89-
content_tag(:div, @blocks[:text].html_safe, class: classes)
89+
content_tag(:span, @blocks[:text].html_safe, class: classes)
9090
else
9191
content_tag(:span, sanitize(@blocks[:text]), class: classes)
9292
end

app/services/cms/dynamic_components/course_card.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ def initialize(title:, banner_text:, course_code:, description:, image:)
88
@banner_text = banner_text
99
@description = description
1010
@image = image
11-
@course = Achiever::Course::Template.find_by_activity_code(course_code)
11+
@course = begin
12+
Achiever::Course::Template.find_by_activity_code(course_code)
13+
rescue ActiveRecord::RecordNotFound
14+
nil
15+
end
1216
end
1317

1418
def render

app/services/cms/dynamic_components/horizontal_card.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
module Cms
22
module DynamicComponents
33
class HorizontalCard
4-
attr_accessor :title, :body_blocks, :image, :image_link, :color_theme, :icon_block, :spacing, :external_title
4+
attr_accessor :title, :body_blocks, :image, :image_link, :color_theme, :icon_block, :spacing, :external_title, :background_color
55

6-
def initialize(title:, body_blocks:, image:, image_link:, color_theme:, icon_block:, spacing:, external_title:)
6+
def initialize(title:, body_blocks:, image:, image_link:, color_theme:, icon_block:, spacing:, external_title:, background_color:)
77
@title = title
88
@body_blocks = body_blocks
99
@image = image
@@ -12,10 +12,11 @@ def initialize(title:, body_blocks:, image:, image_link:, color_theme:, icon_blo
1212
@icon_block = icon_block
1313
@spacing = spacing
1414
@external_title = external_title
15+
@background_color = background_color
1516
end
1617

1718
def render
18-
Cms::HorizontalCardComponent.new(title:, body_blocks:, image:, image_link:, color_theme:, icon_block:, spacing:, external_title:)
19+
Cms::HorizontalCardComponent.new(title:, body_blocks:, image:, image_link:, color_theme:, icon_block:, spacing:, external_title:, background_color:)
1920
end
2021
end
2122
end

app/services/cms/providers/strapi/factories/blocks_factory.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ def self.to_horizontal_card(strapi_data)
167167
color_theme: extract_color_name(strapi_data, :colorTheme),
168168
icon_block: to_icon_block(strapi_data[:iconBlock]),
169169
spacing: strapi_data[:spacing],
170-
external_title: strapi_data[:externalTitle]
170+
external_title: strapi_data[:externalTitle],
171+
background_color: extract_color_name(strapi_data, :bkColor)
171172
)
172173
end
173174

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module Cms
2+
module Providers
3+
module Strapi
4+
module Mocks
5+
class CourseCardSection < StrapiMock
6+
strapi_component "blocks.course-cards-section"
7+
attribute(:sectionTitle) { Faker::Lorem.sentence }
8+
attribute(:introText) { RichBlocks.generate_data }
9+
attribute(:cards) { Array.new(3) { DynamicComponents::CourseCard.generate_data } }
10+
end
11+
end
12+
end
13+
end
14+
end

0 commit comments

Comments
 (0)