Merge branch 'master' into design_layout
This commit is contained in:
@@ -457,7 +457,7 @@ header {
|
||||
}
|
||||
}
|
||||
|
||||
.subnavigation-container {
|
||||
.subnavigation-background {
|
||||
background: white;
|
||||
height: rem-calc(50);
|
||||
margin-top: rem-calc(-50);
|
||||
@@ -473,7 +473,6 @@ header {
|
||||
a {
|
||||
color: white;
|
||||
display: inline-block;
|
||||
font-family: $font-sans;
|
||||
line-height: $line-height*2;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
@@ -502,6 +501,36 @@ header {
|
||||
}
|
||||
}
|
||||
|
||||
.submenu {
|
||||
background: white;
|
||||
border-bottom: 1px solid $border;
|
||||
clear: both;
|
||||
margin: $line-height 0 $line-height/2;
|
||||
|
||||
a {
|
||||
color: $text;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: $line-height;
|
||||
margin-right: 12px\9;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
|
||||
@media (min-width: $small-breakpoint) {
|
||||
margin-right: $line-height*1.5;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $link;
|
||||
}
|
||||
|
||||
&.active {
|
||||
border-bottom: 2px solid $brand;
|
||||
color: $brand;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 03. Footer
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ class DebatesController < ApplicationController
|
||||
before_action :set_search_order, only: :index
|
||||
before_action :authenticate_user!, except: [:index, :show]
|
||||
|
||||
has_orders %w{hot_score confidence_score created_at most_commented random relevance}, only: :index
|
||||
has_orders %w{hot_score confidence_score created_at relevance}, only: :index
|
||||
has_orders %w{most_voted newest oldest}, only: :show
|
||||
|
||||
load_and_authorize_resource
|
||||
|
||||
@@ -7,7 +7,7 @@ class ProposalsController < ApplicationController
|
||||
before_action :set_search_order, only: :index
|
||||
before_action :authenticate_user!, except: [:index, :show]
|
||||
|
||||
has_orders %w{hot_score confidence_score created_at most_commented random relevance}, only: :index
|
||||
has_orders %w{hot_score confidence_score created_at relevance}, only: :index
|
||||
has_orders %w{most_voted newest oldest}, only: :show
|
||||
|
||||
load_and_authorize_resource
|
||||
|
||||
@@ -24,21 +24,7 @@
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if @tag_filter || @search_terms %>
|
||||
<div class="small-12 medium-5 margin-top inline-block debates-order">
|
||||
<h6 class="inline-block">
|
||||
<%= t("debates.index.select_order") %>
|
||||
</h6>
|
||||
<%= render 'shared/order_selector', i18n_namespace: "debates.index" %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="small-12 inline-block">
|
||||
<h2 class="inline-block">
|
||||
<%= t("debates.index.select_order_long") %>
|
||||
</h2>
|
||||
<%= render 'shared/order_selector', i18n_namespace: "debates.index" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= render 'shared/order_links', i18n_namespace: "debates.index" %>
|
||||
|
||||
<div class="show-for-small-only">
|
||||
<%= link_to t("debates.index.start_debate"), new_debate_path, class: 'button radius expand' %>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="row-full subnavigation-container"></div>
|
||||
<div class="row-full subnavigation-background"></div>
|
||||
|
||||
<% if home_page? %>
|
||||
<div class="row home-page">
|
||||
|
||||
@@ -24,21 +24,7 @@
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if @tag_filter || @search_terms %>
|
||||
<div class="small-12 medium-5 margin-top margin-top inline-block proposals-order">
|
||||
<h6 class="inline-block">
|
||||
<%= t("proposals.index.select_order") %>
|
||||
</h6>
|
||||
<%= render 'shared/order_selector', i18n_namespace: "proposals.index" %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="small-12 inline-block">
|
||||
<h2 class="inline-block">
|
||||
<%= t("proposals.index.select_order_long") %>
|
||||
</h2>
|
||||
<%= render 'shared/order_selector', i18n_namespace: "proposals.index" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= render 'shared/order_links', i18n_namespace: "proposals.index" %>
|
||||
|
||||
<div class="show-for-small-only">
|
||||
<%= link_to t("proposals.index.start_proposal"), new_proposal_path, class: 'button radius expand' %>
|
||||
|
||||
7
app/views/shared/_order_links.html.erb
Normal file
7
app/views/shared/_order_links.html.erb
Normal file
@@ -0,0 +1,7 @@
|
||||
<section class="submenu">
|
||||
<% valid_orders.each do |order| %>
|
||||
<%= link_to t("#{i18n_namespace}.orders.#{order}"),
|
||||
current_path_with_query_params(order: order, page: 1),
|
||||
class: order == @current_order ? 'active' : '' %>
|
||||
<% end %>
|
||||
</section>
|
||||
@@ -1,5 +1,5 @@
|
||||
<form class="inline-block">
|
||||
<label for="order-selector-participation" class="sr-only"><%= t("debates.index.select_order") %></label>
|
||||
<label for="order-selector-participation" class="sr-only"><%= t("#{i18n_namespace}.select_order") %></label>
|
||||
<select class="js-location-changer js-order-selector select-order"
|
||||
data-order="<%= @current_order %>"
|
||||
name="order-selector"
|
||||
|
||||
@@ -121,8 +121,10 @@ ignore_unused:
|
||||
- 'moderation.debates.index.filter*'
|
||||
- 'moderation.debates.index.order*'
|
||||
- 'users.show.filters.*'
|
||||
- 'debates.index.select_order'
|
||||
- 'debates.index.orders.*'
|
||||
- 'debates.index.search_form.*'
|
||||
- 'proposals.index.select_order'
|
||||
- 'proposals.index.orders.*'
|
||||
- 'proposals.index.search_form.*'
|
||||
- 'helpers.page_entries_info.*' # kaminari
|
||||
|
||||
@@ -82,13 +82,11 @@ en:
|
||||
featured_debates_html: "Featured<br>debates"
|
||||
start_debate: "Start a debate"
|
||||
select_order: "Order by"
|
||||
select_order_long: "You are viewing debates according to:"
|
||||
orders:
|
||||
confidence_score: "highest rated"
|
||||
hot_score: "most active"
|
||||
created_at: "newest"
|
||||
most_commented: "most commented"
|
||||
random: "random"
|
||||
relevance: "relevance"
|
||||
filter_topic:
|
||||
one: " with topic '%{topic}'"
|
||||
@@ -158,14 +156,13 @@ en:
|
||||
title: "Proposals"
|
||||
featured_proposals_html: "Featured<br>proposals"
|
||||
start_proposal: "Create a proposal"
|
||||
select_order: "Order by"
|
||||
select_order_long: "You are viewing proposals according to:"
|
||||
select_order: "Order by"
|
||||
orders:
|
||||
confidence_score: "highest rated"
|
||||
hot_score: "most active"
|
||||
created_at: "newest"
|
||||
most_commented: "most commented"
|
||||
random: "random"
|
||||
relevance: "relevance"
|
||||
filter_topic:
|
||||
one: " with topic '%{topic}'"
|
||||
|
||||
@@ -82,14 +82,12 @@ es:
|
||||
featured_debates_html: "Debates<br>destacados"
|
||||
start_debate: "Empieza un debate"
|
||||
select_order: "Ordenar por"
|
||||
select_order_long: "Estás viendo los debates"
|
||||
orders:
|
||||
confidence_score: "mejor valorados"
|
||||
hot_score: "más activos"
|
||||
created_at: "más nuevos"
|
||||
most_commented: "más comentados"
|
||||
random: "aleatorio"
|
||||
relevance: "relevancia"
|
||||
confidence_score: "Mejor valorados"
|
||||
hot_score: "Más activos hoy"
|
||||
created_at: "Nuevos"
|
||||
most_commented: "Más comentados"
|
||||
relevance: "Más relevantes"
|
||||
filter_topic:
|
||||
one: " con el tema '%{topic}'"
|
||||
other: " con el tema '%{topic}'"
|
||||
@@ -158,15 +156,14 @@ es:
|
||||
title: "Propuestas ciudadanas"
|
||||
featured_proposals_html: "Propuestas<br>destacadas"
|
||||
start_proposal: "Crea una propuesta"
|
||||
select_order_long: "Estas viendo las propuestas"
|
||||
select_order: "Ordenar por"
|
||||
select_order_long: "Estás viendo las propuestas"
|
||||
orders:
|
||||
confidence_score: "más apoyadas"
|
||||
hot_score: "más activas hoy"
|
||||
created_at: "más nuevas"
|
||||
most_commented: "más comentadas"
|
||||
random: "aleatorias"
|
||||
relevance: "relevancia"
|
||||
confidence_score: "Más apoyadas"
|
||||
hot_score: "Más activas hoy"
|
||||
created_at: "Nuevas"
|
||||
most_commented: "Más comentadas"
|
||||
relevance: "Más relevantes"
|
||||
filter_topic:
|
||||
one: " con el tema '%{topic}'"
|
||||
other: " con el tema '%{topic}'"
|
||||
|
||||
@@ -419,9 +419,9 @@ feature 'Debates' do
|
||||
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
||||
|
||||
visit debates_path
|
||||
select 'highest rated', from: 'order-selector'
|
||||
click_link 'highest rated'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||
expect(page).to have_selector('a.active', text: 'highest rated')
|
||||
|
||||
within '#debates' do
|
||||
expect('Best').to appear_before('Medium')
|
||||
@@ -432,34 +432,15 @@ feature 'Debates' do
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Debates are ordered by most commented', :js do
|
||||
create(:debate, title: 'Best', comments_count: 10)
|
||||
create(:debate, title: 'Medium', comments_count: 5)
|
||||
create(:debate, title: 'Worst', comments_count: 2)
|
||||
|
||||
visit debates_path
|
||||
select 'most commented', from: 'order-selector'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="most_commented"]')
|
||||
|
||||
within '#debates' do
|
||||
expect('Best').to appear_before('Medium')
|
||||
expect('Medium').to appear_before('Worst')
|
||||
end
|
||||
|
||||
expect(current_url).to include('order=most_commented')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Debates are ordered by newest', :js do
|
||||
create(:debate, title: 'Best', created_at: Time.now)
|
||||
create(:debate, title: 'Medium', created_at: Time.now - 1.hour)
|
||||
create(:debate, title: 'Worst', created_at: Time.now - 1.day)
|
||||
|
||||
visit debates_path
|
||||
select 'newest', from: 'order-selector'
|
||||
click_link 'newest'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||
expect(page).to have_selector('a.active', text: 'newest')
|
||||
|
||||
within '#debates' do
|
||||
expect('Best').to appear_before('Medium')
|
||||
@@ -469,25 +450,6 @@ feature 'Debates' do
|
||||
expect(current_url).to include('order=created_at')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Debates are ordered randomly', :js do
|
||||
create_list(:debate, 12)
|
||||
visit debates_path
|
||||
|
||||
select 'random', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="random"]')
|
||||
debates_first_time = find("#debates").text
|
||||
|
||||
select 'most commented', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="most_commented"]')
|
||||
|
||||
select 'random', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="random"]')
|
||||
debates_second_time = find("#debates").text
|
||||
|
||||
expect(debates_first_time).to_not eq(debates_second_time)
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Debate index search' do
|
||||
@@ -524,7 +486,7 @@ feature 'Debates' do
|
||||
fill_in "search", with: "Show what you got"
|
||||
click_button "Search"
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="relevance"]')
|
||||
expect(page).to have_selector('a.active', text: "relevance")
|
||||
|
||||
within("#debates") do
|
||||
expect(all(".debate")[0].text).to match "Show what you got"
|
||||
@@ -543,8 +505,8 @@ feature 'Debates' do
|
||||
fill_in "search", with: "Show what you got"
|
||||
click_button "Search"
|
||||
|
||||
select 'newest', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||
click_link "newest"
|
||||
expect(page).to have_selector('a.active', text: "Newest")
|
||||
|
||||
within("#debates") do
|
||||
expect(all(".debate")[0].text).to match "Show you got"
|
||||
|
||||
@@ -482,9 +482,8 @@ feature 'Proposals' do
|
||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
||||
|
||||
visit proposals_path
|
||||
select 'highest rated', from: 'order-selector'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||
click_link 'highest rated'
|
||||
expect(page).to have_selector('a.active', text: 'highest rated')
|
||||
|
||||
within '#proposals' do
|
||||
expect('Best proposal').to appear_before('Medium proposal')
|
||||
@@ -495,27 +494,6 @@ feature 'Proposals' do
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Proposals are ordered by most commented', :js do
|
||||
create_featured_proposals
|
||||
|
||||
create(:proposal, title: 'Best proposal', comments_count: 10)
|
||||
create(:proposal, title: 'Medium proposal', comments_count: 5)
|
||||
create(:proposal, title: 'Worst proposal', comments_count: 2)
|
||||
|
||||
visit proposals_path
|
||||
select 'most commented', from: 'order-selector'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="most_commented"]')
|
||||
|
||||
within '#proposals' do
|
||||
expect('Best proposal').to appear_before('Medium proposal')
|
||||
expect('Medium proposal').to appear_before('Worst proposal')
|
||||
end
|
||||
|
||||
expect(current_url).to include('order=most_commented')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Proposals are ordered by newest', :js do
|
||||
create_featured_proposals
|
||||
|
||||
@@ -524,9 +502,8 @@ feature 'Proposals' do
|
||||
create(:proposal, title: 'Worst proposal', created_at: Time.now - 1.day)
|
||||
|
||||
visit proposals_path
|
||||
select 'newest', from: 'order-selector'
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||
click_link 'newest'
|
||||
expect(page).to have_selector('a.active', text: 'newest')
|
||||
|
||||
within '#proposals' do
|
||||
expect('Best proposal').to appear_before('Medium proposal')
|
||||
@@ -536,27 +513,6 @@ feature 'Proposals' do
|
||||
expect(current_url).to include('order=created_at')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'Proposals are ordered randomly', :js do
|
||||
create_featured_proposals
|
||||
|
||||
create_list(:proposal, 12)
|
||||
visit proposals_path
|
||||
|
||||
select 'random', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="random"]')
|
||||
proposals_first_time = find("#proposals").text
|
||||
|
||||
select 'most commented', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="most_commented"]')
|
||||
|
||||
select 'random', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="random"]')
|
||||
proposals_second_time = find("#proposals").text
|
||||
|
||||
expect(proposals_first_time).to_not eq(proposals_second_time)
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Proposal index search' do
|
||||
@@ -593,7 +549,7 @@ feature 'Proposals' do
|
||||
fill_in "search", with: "Show what you got"
|
||||
click_button "Search"
|
||||
|
||||
expect(page).to have_selector('.js-order-selector[data-order="relevance"]')
|
||||
expect(page).to have_selector("a.active", text: "relevance")
|
||||
|
||||
within("#proposals") do
|
||||
expect(all(".proposal")[0].text).to match "Show what you got"
|
||||
@@ -611,9 +567,8 @@ feature 'Proposals' do
|
||||
visit proposals_path
|
||||
fill_in "search", with: "Show what you got"
|
||||
click_button "Search"
|
||||
|
||||
select 'newest', from: 'order-selector'
|
||||
expect(page).to have_selector('.js-order-selector[data-order="created_at"]')
|
||||
click_link 'newest'
|
||||
expect(page).to have_selector("a.active", text: "newest")
|
||||
|
||||
within("#proposals") do
|
||||
expect(all(".proposal")[0].text).to match "Show you got"
|
||||
|
||||
Reference in New Issue
Block a user