From dd73d3a47f9a4af6e80b8a1d26c6cd76cdab071a Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Wed, 2 Oct 2024 16:40:13 +0100 Subject: [PATCH] Refactor search component --- app/components/search_component.rb | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/components/search_component.rb b/app/components/search_component.rb index 2d10781d3..d63cf3977 100644 --- a/app/components/search_component.rb +++ b/app/components/search_component.rb @@ -9,21 +9,9 @@ class SearchComponent < ViewComponent::Base end def path(current_user) - if request.path.include?("organisations") && request.path.include?("users") - request.path - elsif request.path.include?("organisations") && request.path.include?("logs") - request.path - elsif request.path.include?("organisations") && request.path.include?("schemes") - request.path - elsif request.path.include?("organisations") && request.path.include?("stock-owners") - request.path - elsif request.path.include?("organisations") && request.path.include?("managing-agents") - request.path - elsif request.path.include?("bulk-uploads") && request.path.include?("sales-logs") - request.path - elsif request.path.include?("bulk-uploads") && request.path.include?("lettings-logs") - request.path - elsif request.path.include?("users") + return request.path if matching_path_conditions? + + if request.path.include?("users") user_path(current_user) elsif request.path.include?("organisations") organisations_path @@ -39,4 +27,16 @@ private def user_path(current_user) current_user.support? ? users_path : users_organisation_path(current_user.organisation) end + + def matching_path_conditions? + [ + %r{organisations/\d+/users}, + %r{organisations/\d+/logs}, + %r{organisations/\d+/schemes}, + %r{organisations/\d+/stock-owners}, + %r{organisations/\d+/managing-agents}, + %r{sales-logs/bulk-uploads}, + %r{lettings-logs/bulk-uploads} + ].any? { |pattern| request.path.match?(pattern) } + end end