1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-08-10 16:05:22 +02:00
Maybe/app/views/transactions/searches/_menu.html.erb
Zach Gollwitzer ab6fdbbb68
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Component namespacing (#2463)
* [claudesquad] update from 'component-namespacing' on 18 Jul 25 07:23 EDT

* [claudesquad] update from 'component-namespacing' on 18 Jul 25 07:30 EDT

* Update stimulus controller references to use namespace

* Fix remaining tests
2025-07-18 08:30:00 -04:00

46 lines
2 KiB
Text

<%# locals: (form:) %>
<%= render DS::Tabs.new(
variant: :unstyled,
active_tab: get_default_transaction_search_filter[:key],
active_btn_classes: "bg-surface text-primary",
inactive_btn_classes: "text-secondary hover:bg-container-inset"
) do |tabs| %>
<div id="transaction-filters-menu" class="flex flex-col md:flex-row h-[50vh] lg:max-h-auto z-10 md:h-80 w-full md:w-[540px] top-12 right-0 overflow-hidden">
<%= tabs.with_nav(classes: "shrink-0 flex w-full md:w-44 flex-row md:flex-col items-start p-3 text-sm font-medium text-secondary border-b md:border-b-0 md:border-r border-secondary overflow-x-auto md:overflow-x-visible") do |nav| %>
<% transaction_search_filters.each do |filter| %>
<%= nav.with_btn(id: filter[:key], label: filter[:label], classes: "w-full px-3 py-2 flex gap-2 items-center rounded-md") do %>
<%= icon(filter[:icon]) %>
<%= tag.span(filter[:label], class: "text-sm font-medium") %>
<% end %>
<% end %>
<% end %>
<div class="flex flex-col grow overflow-y-auto">
<div class="grow p-3 border-b border-secondary overflow-y-auto">
<% transaction_search_filters.each do |filter| %>
<%= tabs.with_panel(tab_id: filter[:key]) do %>
<%= render partial: get_transaction_search_filter_partial_path(filter), locals: { form: form } %>
<% end %>
<% end %>
</div>
<div class="flex justify-between items-center gap-2 bg-container p-3 shrink-0">
<div>
<% if @q.present? %>
<%= render DS::Link.new(
text: t(".clear_filters"),
variant: "ghost",
href: transactions_path(clear_filters: true),
) %>
<% end %>
</div>
<div>
<%= render DS::Button.new(text: t(".cancel"), type: "button", variant: "ghost", data: { action: "DS--menu#close" }) %>
<%= render DS::Button.new(text: t(".apply")) %>
</div>
</div>
</div>
</div>
<% end %>