From 4bbba650383a449aaa9babff1fa3be082565a1e8 Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 3 Dec 2025 18:09:08 +0100 Subject: [PATCH] fix: remove duplicate member_fields_visible assignment in mount/3 Removes dead code and fixes initialization to use FieldVisibility module --- lib/mv_web/live/member_live/index.ex | 30 ---------------------------- 1 file changed, 30 deletions(-) diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 6d489a2..086765c 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -104,12 +104,10 @@ defmodule MvWeb.MemberLive.Index do |> assign(:all_custom_fields, all_custom_fields) |> assign(:all_available_fields, all_available_fields) |> assign(:user_field_selection, initial_selection) - # |> assign(:member_field_configurations, get_member_field_configurations(settings)) |> assign( :member_fields_visible, FieldVisibility.get_visible_member_fields(initial_selection) ) - |> assign(:member_fields_visible, get_visible_member_fields(settings)) # We call handle params to use the query from the URL {:ok, socket} @@ -1093,34 +1091,6 @@ defmodule MvWeb.MemberLive.Index do end end - # Gets the list of member fields that should be visible in the overview. - # - # Reads the visibility configuration from Settings and returns only the fields - # where show_in_overview is true. Fields not configured in settings default to true. - # - # Performance: This function uses the already-loaded settings to avoid N+1 queries. - # Settings should be loaded once in mount/3 and passed to this function. - # - # Parameters: - # - `settings` - The settings struct loaded from the database - # - # Returns a list of atoms representing visible member field names. - # - # Fields are read from the global Constants module. - @spec get_visible_member_fields(map()) :: [atom()] - defp get_visible_member_fields(settings) do - # Get all eligible fields from the global constants - all_fields = Mv.Constants.member_fields() - - # JSONB stores keys as strings - visibility_config = settings.member_field_visibility || %{} - - # Filter to only return visible fields - Enum.filter(all_fields, fn field -> - Map.get(visibility_config, Atom.to_string(field), true) - end) - end - # Public helper function to format dates for use in templates def format_date(date), do: DateFormatter.format_date(date) end