Add widget header to homepage

This commit is contained in:
rgarcia
2018-05-22 19:57:52 +02:00
committed by decabeza
parent 664e77305c
commit c7f85c4173
6 changed files with 35 additions and 0 deletions

View File

@@ -1,11 +1,16 @@
class Admin::HomepageController < Admin::BaseController class Admin::HomepageController < Admin::BaseController
def show def show
load_header
load_cards load_cards
end end
private private
def load_header
@header = ::Widget::Card.header
end
def load_settings def load_settings
settings = /feature.homepage.widgets/ settings = /feature.homepage.widgets/
@settings = Setting.select {|setting| setting.key =~ /#{settings}/ } @settings = Setting.select {|setting| setting.key =~ /#{settings}/ }

View File

@@ -5,6 +5,7 @@ class WelcomeController < ApplicationController
layout "devise", only: [:welcome, :verification] layout "devise", only: [:welcome, :verification]
def index def index
@header = Widget::Card.header.first
@cards = Widget::Card.body @cards = Widget::Card.body
end end

View File

@@ -1,8 +1,18 @@
<h1>Homepage</h1> <h1>Homepage</h1>
<p>The active modules appear in the homepage in the same order as here.</p> <p>The active modules appear in the homepage in the same order as here.</p>
<div id="header">
<% if @header.present? %>
<%= render "cards", cards: @header %>
<% end %>
</div>
<h2>Cards</h2> <h2>Cards</h2>
<div>
<%= link_to "Create header", new_admin_widget_card_path(header_card: true) %>
</div>
<div> <div>
<%= link_to "Create card", new_admin_widget_card_path %> <%= link_to "Create card", new_admin_widget_card_path %>
@@ -14,6 +24,7 @@
<% end %> <% end %>
</div> </div>
<% @settings.each do |setting| %> <% @settings.each do |setting| %>
<div> <div>

View File

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

View File

@@ -23,7 +23,9 @@
</div> </div>
</div> </div>
<%= render "header", header: @header %>
<%= render "cards" %> <%= render "cards" %>
<% if feature?("user.recommendations") && (@recommended_debates.present? || @recommended_proposals.present?) %> <% if feature?("user.recommendations") && (@recommended_debates.present? || @recommended_proposals.present?) %>
<%= render "recommended", <%= render "recommended",
recommended_debates: @recommended_debates, recommended_debates: @recommended_debates,

View File

@@ -7,6 +7,9 @@ feature 'Homepage' do
login_as(admin) login_as(admin)
end end
scenario "Header" do
end
scenario "Cards" do scenario "Cards" do
card1 = create(:widget_card, title: "Card text", card1 = create(:widget_card, title: "Card text",
description: "Card description", description: "Card description",