From 217ed632fa729304aa96e2c3acb7b12f0beeac43 Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 3 Dec 2025 18:36:13 +0100 Subject: [PATCH] fix: preserve paid_filter in URL when toggling field visibility --- lib/mv_web/live/member_live/index.ex | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 0e39cc6..f379ede 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -524,12 +524,20 @@ defmodule MvWeb.MemberLive.Index do # Pushes URL with updated field selection defp push_field_selection_url(socket) do - query_params = - build_query_params(socket, %{ - "sort_field" => field_to_string(socket.assigns.sort_field), - "sort_order" => Atom.to_string(socket.assigns.sort_order) - }) + base_params = %{ + "sort_field" => field_to_string(socket.assigns.sort_field), + "sort_order" => Atom.to_string(socket.assigns.sort_order) + } + # Include paid_filter if set + base_params = + case socket.assigns.paid_filter do + nil -> base_params + :paid -> Map.put(base_params, "paid_filter", "paid") + :not_paid -> Map.put(base_params, "paid_filter", "not_paid") + end + + query_params = build_query_params(socket, base_params) new_path = ~p"/members?#{query_params}" push_patch(socket, to: new_path, replace: true)