feat(overview): replace filter panel with add-filter builder and aging column
Swaps the unbounded vertical filter panel for a Polaris-style add-filter builder (searchable grouped field picker, type-aware value control, applied chips) and colour-codes the fees column with each member's period-scoped unpaid-cycle count.
This commit is contained in:
parent
7d1a71b1fd
commit
c547ca19af
35 changed files with 2817 additions and 3149 deletions
|
|
@ -424,7 +424,7 @@ defmodule MvWeb.MemberLive.Show do
|
|||
end
|
||||
|
||||
@impl true
|
||||
def handle_params(%{"id" => id}, _, socket) do
|
||||
def handle_params(%{"id" => id} = params, _, socket) do
|
||||
actor = current_actor(socket)
|
||||
|
||||
# Load custom fields once using assign_new to avoid repeated queries
|
||||
|
|
@ -463,9 +463,17 @@ defmodule MvWeb.MemberLive.Show do
|
|||
{:noreply,
|
||||
socket
|
||||
|> Layouts.assign_page_title(content_title)
|
||||
|> assign(:member, member)}
|
||||
|> assign(:member, member)
|
||||
|> maybe_assign_tab(params)}
|
||||
end
|
||||
|
||||
# Deep-link support: the overview payment badge drills into the fees history
|
||||
# via `?tab=membership_fees` (§1.15).
|
||||
defp maybe_assign_tab(socket, %{"tab" => "membership_fees"}),
|
||||
do: assign(socket, :active_tab, :membership_fees)
|
||||
|
||||
defp maybe_assign_tab(socket, _params), do: socket
|
||||
|
||||
@impl true
|
||||
def handle_event("switch_tab", %{"tab" => "contact"}, socket) do
|
||||
{:noreply, assign(socket, :active_tab, :contact)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue