diff --git a/app/controllers/admin/homepage_controller.rb b/app/controllers/admin/homepage_controller.rb
index 5d8dad830..a93eb83cd 100644
--- a/app/controllers/admin/homepage_controller.rb
+++ b/app/controllers/admin/homepage_controller.rb
@@ -1,11 +1,16 @@
class Admin::HomepageController < Admin::BaseController
def show
+ load_header
load_cards
end
private
+ def load_header
+ @header = ::Widget::Card.header
+ end
+
def load_settings
settings = /feature.homepage.widgets/
@settings = Setting.select {|setting| setting.key =~ /#{settings}/ }
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index e1a8d3472..bce56650b 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -5,6 +5,7 @@ class WelcomeController < ApplicationController
layout "devise", only: [:welcome, :verification]
def index
+ @header = Widget::Card.header.first
@cards = Widget::Card.body
end
diff --git a/app/views/admin/homepage/show.html.erb b/app/views/admin/homepage/show.html.erb
index 509cc5e9b..0d6e3fc9f 100644
--- a/app/views/admin/homepage/show.html.erb
+++ b/app/views/admin/homepage/show.html.erb
@@ -1,8 +1,18 @@
Homepage
The active modules appear in the homepage in the same order as here.
+
+
+
Cards
+
+ <%= link_to "Create header", new_admin_widget_card_path(header_card: true) %>
+
<%= link_to "Create card", new_admin_widget_card_path %>
@@ -14,6 +24,7 @@
<% end %>
+
<% @settings.each do |setting| %>
diff --git a/app/views/welcome/_header.html.erb b/app/views/welcome/_header.html.erb
new file mode 100644
index 000000000..610083c5a
--- /dev/null
+++ b/app/views/welcome/_header.html.erb
@@ -0,0 +1,13 @@
+<% if header.present? %>
+ <%= header.title %>
+ <%= header.description %>
+
+ <% if header.image.present? %>
+ <%= image_tag(header.image_url(:large),
+ class: "margin",
+ alt: header.image.title) %>
+ <% end %>
+
+ <%= link_to header.button_text, header.button_url %>
+ <%= header.alignment %>
+<% end %>
\ No newline at end of file
diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb
index 4c8b0eab9..28e29b786 100644
--- a/app/views/welcome/index.html.erb
+++ b/app/views/welcome/index.html.erb
@@ -23,7 +23,9 @@
+<%= render "header", header: @header %>
<%= render "cards" %>
+
<% if feature?("user.recommendations") && (@recommended_debates.present? || @recommended_proposals.present?) %>
<%= render "recommended",
recommended_debates: @recommended_debates,
diff --git a/spec/features/admin/homepage/homepage_spec.rb b/spec/features/admin/homepage/homepage_spec.rb
index 03aa6733a..4bb1cb31f 100644
--- a/spec/features/admin/homepage/homepage_spec.rb
+++ b/spec/features/admin/homepage/homepage_spec.rb
@@ -7,6 +7,9 @@ feature 'Homepage' do
login_as(admin)
end
+ scenario "Header" do
+ end
+
scenario "Cards" do
card1 = create(:widget_card, title: "Card text",
description: "Card description",