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",