Display a message when feeds have no items

This is a scenario which will likely take place for at least some of the
goals.
This commit is contained in:
Javi Martín
2020-12-23 14:28:04 +01:00
parent cc9ab70fbb
commit 83400b9ed4
5 changed files with 31 additions and 6 deletions

View File

@@ -17,4 +17,8 @@
padding: $line-height / 2 0;
}
}
.no-items {
margin-top: $line-height;
}
}

View File

@@ -3,11 +3,15 @@
<h2 class="title"><%= t("welcome.feed.most_active.#{kind}") %></h2>
</header>
<div class="feed-content">
<% feed.items.each do |item| %>
<%= render item_component_class.new(item) %>
<% end %>
</div>
<% if feed.items.any? %>
<div class="feed-content">
<% feed.items.each do |item| %>
<%= render item_component_class.new(item) %>
<% end %>
</div>
<%= link_to t("welcome.feed.see_all.#{kind}"), see_all_path, class: "see-all" %>
<%= link_to t("welcome.feed.see_all.#{kind}"), see_all_path, class: "see-all" %>
<% else %>
<div class="no-items callout primary"><%= t("welcome.feed.no_items.#{kind}") %></div>
<% end %>
</section>

View File

@@ -879,6 +879,10 @@ en:
debates: See all debates
proposals: See all proposals
processes: See all processes
no_items:
debates: There are no debates right now
proposals: There are no proposals right now
processes: There are no open processes right now
process_label: Process
see_process: See process
cards:

View File

@@ -879,6 +879,10 @@ es:
debates: Ver todos los debates
proposals: Ver todas las propuestas
processes: Ver todos los procesos
no_items:
debates: Ahora mismo no hay debates
proposals: Ahora mismo no hay propuestas
processes: Ahora mismo no hay procesos abiertos
process_label: Proceso
see_process: Ver proceso
cards:

View File

@@ -1,6 +1,15 @@
require "rails_helper"
describe Widgets::Feeds::FeedComponent, type: :component do
it "renders a message when there are no items" do
feed = double(kind: "debates", items: [])
component = Widgets::Feeds::FeedComponent.new(feed)
render_inline component
expect(page).to have_content "no debates"
end
describe "#see_all_path" do
context "debates" do
let(:feed) { Widget::Feed.new(kind: "debates") }