diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 3083d65..50b0cfa 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -581,14 +581,15 @@ defmodule MvWeb.MemberLive.Index do next_sig = build_signature(socket) # Only load members if signature changed (optimization: avoid duplicate loads) + # OR if members haven't been loaded yet (first handle_params call after mount) socket = - if prev_sig == next_sig do - # Nothing changed, skip expensive load_members() call + if prev_sig == next_sig && Map.has_key?(socket.assigns, :members) do + # Nothing changed AND members already loaded, skip expensive load_members() call socket |> prepare_dynamic_cols() |> update_selection_assigns() else - # Signature changed, reload members + # Signature changed OR members not loaded yet, reload members socket |> load_members() |> prepare_dynamic_cols()