Remove unnecessary filtering code

After removing collections from the filtering menu, there was quite a good cleanup here pending
This commit is contained in:
Jorge Manrubia
2025-10-03 10:56:34 +02:00
parent 55e4fec01f
commit 4527dcbeda
35 changed files with 29 additions and 94 deletions
@@ -1,6 +1,4 @@
class Account::SettingsController < ApplicationController
include FilterScoped
def show
@account = Account.sole
@users = User.active.alphabetically
-2
View File
@@ -6,8 +6,6 @@ class CardsController < ApplicationController
before_action :set_collection, only: %i[ create ]
before_action :set_card, only: %i[ show edit update destroy ]
enable_collection_filtering only: :index
PAGE_SIZE = 25
def index
@@ -1,5 +1,5 @@
class Collections::Columns::ClosedsController < ApplicationController
include CollectionScoped, FilterScoped
include CollectionScoped
def show
set_page_and_extract_portion_from @collection.cards.closed.recently_closed_first
@@ -1,5 +1,5 @@
class Collections::Columns::NotNowsController < ApplicationController
include CollectionScoped, FilterScoped
include CollectionScoped
def show
set_page_and_extract_portion_from @collection.cards.postponed.reverse_chronologically.with_golden_first
@@ -1,5 +1,5 @@
class Collections::Columns::StreamsController < ApplicationController
include CollectionScoped, FilterScoped
include CollectionScoped
def show
set_page_and_extract_portion_from @collection.cards.awaiting_triage.reverse_chronologically.with_golden_first
@@ -1,5 +1,5 @@
class Collections::ColumnsController < ApplicationController
include ActionView::RecordIdentifier, CollectionScoped, FilterScoped
include ActionView::RecordIdentifier, CollectionScoped
before_action :set_column, only: [ :show, :update, :destroy ]
-26
View File
@@ -6,12 +6,6 @@ module FilterScoped
before_action :set_user_filtering
end
class_methods do
def enable_collection_filtering(**options)
before_action :enable_collection_filtering, **options
end
end
private
def set_filter
if params[:filter_id].present?
@@ -32,24 +26,4 @@ module FilterScoped
def expanded_param
ActiveRecord::Type::Boolean.new.cast(params[:expand_all])
end
def enable_collection_filtering
# We pass a block so that we don't have to pass around the script_name and host
# to the model to make +url_for+ invocable
@user_filtering.enable_collection_filtering do |**options|
url_for(options)
end
end
def enable_referral_collection_filtering
@user_filtering.enable_collection_filtering do |**options|
if request.referer.present?
uri = URI.parse(request.referer)
uri.query = Rack::Utils.build_query(options)
uri.to_s
else
url_for(options)
end
end
end
end
-2
View File
@@ -1,8 +1,6 @@
class EventsController < ApplicationController
include DayTimelinesScoped
enable_collection_filtering only: :index
def index
fresh_when @day_timeline
end
-7
View File
@@ -1,14 +1,7 @@
class My::MenusController < ApplicationController
include FilterScoped
before_action :enable_referral_collection_filtering, if: :collection_filtering_enabled?
def show
fresh_when @user_filtering
end
private
def collection_filtering_enabled?
params[:enable_collection_filtering].present?
end
end
@@ -1,5 +1,4 @@
class Notifications::SettingsController < ApplicationController
include FilterScoped
before_action :set_settings
def show
@@ -1,6 +1,4 @@
class NotificationsController < ApplicationController
include FilterScoped
def index
@unread = Current.user.notifications.unread.ordered unless current_page_param
set_page_and_extract_portion_from Current.user.notifications.read.ordered
-2
View File
@@ -1,6 +1,4 @@
class WebhooksController < ApplicationController
include FilterScoped
before_action :ensure_can_administer
before_action :set_collection
before_action :set_webhook, except: %i[ index new create ]
+1 -17
View File
@@ -71,28 +71,12 @@ class User::Filtering
filter.collections.any?
end
def enable_collection_filtering(&block)
@collection_filtering_route_resolver = block
end
def self_filter_path(...)
if supports_collection_filtering?
@collection_filtering_route_resolver.call(...)
else
cards_path(...)
end
end
def single_collection_or_first
# Default to the first selected or, when no selection, to the first one
filter.collections.first || collections.first
end
def cache_key
ActiveSupport::Cache.expand_cache_key([ user, filter, expanded?, collections, tags, users, filters, supports_collection_filtering? ], "user-filtering")
end
def supports_collection_filtering?
@collection_filtering_route_resolver.present?
ActiveSupport::Cache.expand_cache_key([ user, filter, expanded?, collections, tags, users, filters ], "user-filtering")
end
end
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Account Settings" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<h1 class="header__title"><%= @page_title %></h1>
<% end %>
+1 -1
View File
@@ -10,7 +10,7 @@
<% end %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<h1 class="header__title divider divider--fade full-width">
<span class="overflow-ellipsis"><%= @user_filtering.selected_collections_label %></span>
+1 -1
View File
@@ -10,7 +10,7 @@
<% end %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<%= link_to collection_url(@card.collection), class: "header__title btn borderless txt-large",
style: "--btn-padding: 0.25ch 1ch 0.25ch 0.75ch; view-transistion-name: card-collection-title;",
@@ -1,7 +1,7 @@
<% @page_title = "Column: Closed" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @collection, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
@@ -1,7 +1,7 @@
<% @page_title = "Column: Now now" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @collection, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Column: #{ @column.name }" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @column.collection, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
@@ -1,7 +1,7 @@
<% @page_title = "Column: The Stream" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @collection, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Collection Settings" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @collection, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
<span class="overflow-ellipsis">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Create a new collection" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<% end %>
<div class="panel shadow center" style="--panel-size: 55ch; view-transition-name: new-collection">
+1 -1
View File
@@ -10,7 +10,7 @@
<% end %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= render "cards/webhooks", collection: @collection if Current.user.admin? %>
+1 -1
View File
@@ -4,7 +4,7 @@
<%= render "filters/broadcasts", filter: @filter %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<%= render "events/index/add_card_button", user_filtering: @user_filtering %>
<h1 class="header__title">
+1 -1
View File
@@ -8,6 +8,6 @@
dialog_target: "dialog",
navigable_list_focus_on_selection_value: false,
navigable_list_actionable_items_value: true } do %>
<%= turbo_frame_tag "my_menu", src: my_menu_path(enable_collection_filtering: user_filtering.supports_collection_filtering?, **user_filtering.filter.as_params), target: "_top" %>
<%= turbo_frame_tag "my_menu", src: my_menu_path, target: "_top" %>
<% end %>
</nav>
+2 -5
View File
@@ -1,10 +1,7 @@
<% # Using method: :get inside Turbo frame triggers some special Turbo handling where the script_name is lost %>
<%= form_with url: user_filtering.self_filter_path(script_name: Account.sole.slug), method: :get, class: "display-contents",
data: { controller: "form" } do |form| %>
<% if user_filtering.collections.any? %>
<%= collapsible_nav_section "Collections" do %>
<%= render "filters/menu/collections/all_option", form: form, user_filtering: user_filtering %>
<%= render partial: "filters/menu/collections/collection", collection: user_filtering.collections, as: :collection, locals: { form: form, user_filtering: user_filtering } %>
<% end %>
<%= render "filters/menu/collections/all_option", user_filtering: user_filtering %>
<%= render partial: "filters/menu/collections/collection", collection: user_filtering.collections, as: :collection %>
<% end %>
<% end %>
@@ -1,5 +1,3 @@
<% clear_url_path = user_filtering.self_filter_path(user_filtering.as_params.except(:collection_ids), script_name: request.script_name) %>
<% if Current.user.collections.many? %>
<li class="popup__item" data-filter-target="item" data-navigable-list-target="item" id="filter-collection-all">
<%= icon_tag "collection", class: "popup__icon" %>
+1 -1
View File
@@ -2,7 +2,7 @@
<% @hide_footer_frames = true %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<h1 class="header__title"><%= @page_title %></h1>
@@ -1,7 +1,7 @@
<% @page_title = "Notifications settings" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<h1 class="header__title"><%= @page_title %></h1>
<% end %>
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Edit your profile" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<% end %>
<div class="panel shadow center">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = @user.name %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<% end %>
<div class="panel shadow center txt-align-center margin-block-end-double">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = @webhook.name %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to @webhook, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
<span class="overflow-ellipsis">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Webhooks" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to cards_path(collection_ids: [ @collection ]), class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
<span class="overflow-ellipsis">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = "Set up a Webhook" %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to collection_webhooks_path, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
<span class="overflow-ellipsis">
+1 -1
View File
@@ -1,7 +1,7 @@
<% @page_title = @webhook.name %>
<% content_for :header do %>
<%= render "filters/menu", user_filtering: @user_filtering %>
<%= render "filters/menu" %>
<div class="header__actions header__actions--start">
<%= link_to collection_webhooks_path, class: "btn borderless txt-medium", data: { controller: "hotkey", action: "keydown.esc@document->hotkey#click" } do %>
<span class="overflow-ellipsis">