From 0819e87ae26478e0a1aa3e963653f6c656a299c8 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Thu, 21 Aug 2025 15:10:55 +0200 Subject: [PATCH] Make filters work in the cards path directly re-add strong markup for collections in custom filter names --- app/helpers/filters_helper.rb | 4 ++++ app/models/user/filtering.rb | 12 +++++++----- app/views/cards/index.html.erb | 4 ++-- app/views/events/index.html.erb | 2 +- app/views/filters/_menu.html.erb | 1 + app/views/filters/menu/_collections.html.erb | 1 - app/views/filters/menu/_custom.html.erb | 15 ++++++++++----- app/views/filters/menu/custom/_create.html.erb | 2 +- app/views/filters/menu/custom/_filter.html.erb | 4 ++-- 9 files changed, 28 insertions(+), 17 deletions(-) diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 0b37484be..f281c1007 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -10,4 +10,8 @@ module FiltersHelper name = params[key].is_a?(Array) ? "#{key}[]" : key hidden_field_tag name, value, id: nil end + + def filter_selected_collections_title(user_filtering) + user_filtering.selected_collection_titles.collect { tag.strong it }.to_sentence.html_safe + end end diff --git a/app/models/user/filtering.rb b/app/models/user/filtering.rb index fdc5fa415..74c436801 100644 --- a/app/models/user/filtering.rb +++ b/app/models/user/filtering.rb @@ -13,16 +13,18 @@ class User::Filtering @collections ||= user.collections.ordered_by_recently_accessed end - def collections_title + def selected_collection_titles if filter.collections.none? - collections.one? ? collections.first.name : "All collections" - elsif filter.collections.one? - filter.collections.first.name + [ collections.one? ? collections.first.name : "All collections" ] else - filter.collections.map(&:name).to_sentence + filter.collections.map(&:name) end end + def selected_collections_label + selected_collection_titles.to_sentence + end + def tags @tags ||= Tag.all.alphabetically end diff --git a/app/views/cards/index.html.erb b/app/views/cards/index.html.erb index 946370aef..7a3cf9d29 100644 --- a/app/views/cards/index.html.erb +++ b/app/views/cards/index.html.erb @@ -1,4 +1,4 @@ -<% @page_title = @user_filtering.collections_title %> +<% @page_title = @user_filtering.selected_collections_label %> <%= render "filters/broadcasts", filter: @filter %> @@ -16,7 +16,7 @@ <%= render "filters/menu/add_card_button", user_filtering: @user_filtering %>

- <%= @user_filtering.collections_title %> + <%= @user_filtering.selected_collections_label %>

diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb index 2445fc41f..68e01041b 100644 --- a/app/views/events/index.html.erb +++ b/app/views/events/index.html.erb @@ -10,7 +10,7 @@

- Activity in <%= @user_filtering.collections_title %> + Activity in <%= @user_filtering.selected_collections_label %>

diff --git a/app/views/filters/_menu.html.erb b/app/views/filters/_menu.html.erb index 2dc22223b..fe930c456 100644 --- a/app/views/filters/_menu.html.erb +++ b/app/views/filters/_menu.html.erb @@ -15,6 +15,7 @@ type: "search", autocorrect: "off", autocomplete: "off", data: { "1p-ignore": "true", filter_target: "input", action: "input->filter#filter" } %> <%= render "filters/menu/header" %> + <%= render "filters/menu/custom", user_filtering: user_filtering %> <%= render "filters/menu/collections", user_filtering: user_filtering %> <%= render "filters/menu/tags", user_filtering: user_filtering %> <%= render "filters/menu/users", user_filtering: user_filtering %> diff --git a/app/views/filters/menu/_collections.html.erb b/app/views/filters/menu/_collections.html.erb index 58dc6fff4..0375ff705 100644 --- a/app/views/filters/menu/_collections.html.erb +++ b/app/views/filters/menu/_collections.html.erb @@ -1,7 +1,6 @@ <%= form_with url: user_filtering.self_filter_path, method: :get, class: "display-contents", data: { controller: "form" } do |form| %> <% if user_filtering.collections.any? %> - <%= render "filters/menu/custom", user_filtering: user_filtering %>