diff --git a/app/helpers/accounts_helper.rb b/app/helpers/accounts_helper.rb index 99ef891ce..90966cec9 100644 --- a/app/helpers/accounts_helper.rb +++ b/app/helpers/accounts_helper.rb @@ -1,4 +1,6 @@ module AccountsHelper + ACTIVITY_HIGHLIGHT_MARKUP = '\1'.freeze + def summary_card(title:, &block) content = capture(&block) render "accounts/summary_card", title: title, content: content @@ -8,4 +10,11 @@ module AccountsHelper # Always use the account sync path, which handles syncing all providers sync_account_path(account) end + + def highlight_activity_entry_name(name, query = params.dig(:q, :search)) + search = query.to_s.strip + return name if search.blank? + + highlight(name, search, highlighter: ACTIVITY_HIGHLIGHT_MARKUP) + end end diff --git a/app/views/trades/_trade.html.erb b/app/views/trades/_trade.html.erb index 04b67e645..a614b0251 100644 --- a/app/views/trades/_trade.html.erb +++ b/app/views/trades/_trade.html.erb @@ -32,10 +32,10 @@
- <%= link_to entry.name, + <%= link_to(highlight_activity_entry_name(entry.name), entry_path(entry), data: { turbo_frame: "drawer", turbo_prefetch: false }, - class: "hover:underline" %> + class: "hover:underline") %>
<% end %> diff --git a/app/views/transactions/_split_parent_row.html.erb b/app/views/transactions/_split_parent_row.html.erb index 6813609c3..c54bdfe35 100644 --- a/app/views/transactions/_split_parent_row.html.erb +++ b/app/views/transactions/_split_parent_row.html.erb @@ -29,10 +29,10 @@
- <%= link_to entry.name, + <%= link_to(highlight_activity_entry_name(entry.name), entry_path(entry), data: { turbo_frame: "drawer", turbo_prefetch: false }, - class: "hover:underline" %> + class: "hover:underline") %>
@@ -51,7 +51,7 @@ <%= link_to entry.account.name, account_path(entry.account, tab: "transactions"), data: { turbo_frame: "_top" }, - class: "hover:underline" %> + class: "hover:underline") %>
diff --git a/app/views/transactions/_transaction.html.erb b/app/views/transactions/_transaction.html.erb index b0ee1ae0a..1c19f8f32 100644 --- a/app/views/transactions/_transaction.html.erb +++ b/app/views/transactions/_transaction.html.erb @@ -59,7 +59,7 @@
<% if transaction.transfer? %> <%= link_to( - entry.name, + highlight_activity_entry_name(entry.name), transaction.transfer.present? ? transfer_path(transaction.transfer) : entry_path(entry), data: { turbo_frame: "drawer", @@ -69,7 +69,7 @@ ) %> <% else %> <%= link_to( - entry.name, + highlight_activity_entry_name(entry.name), entry_path(entry), data: { turbo_frame: "drawer", diff --git a/app/views/valuations/_valuation.html.erb b/app/views/valuations/_valuation.html.erb index e377eda0f..d19a78f5d 100644 --- a/app/views/valuations/_valuation.html.erb +++ b/app/views/valuations/_valuation.html.erb @@ -17,10 +17,10 @@ <%= render DS::FilledIcon.new(icon: icon, size: "md", hex_color: color, rounded: true) %>
- <%= link_to entry.name, + <%= link_to(highlight_activity_entry_name(entry.name), entry_path(entry), data: { turbo_frame: "drawer", turbo_prefetch: false }, - class: "hover:underline" %> + class: "hover:underline") %>