diff --git a/lib/mv_web/live/components/field_visibility_dropdown_component.ex b/lib/mv_web/live/components/field_visibility_dropdown_component.ex index f2dfad9..574262c 100644 --- a/lib/mv_web/live/components/field_visibility_dropdown_component.ex +++ b/lib/mv_web/live/components/field_visibility_dropdown_component.ex @@ -45,13 +45,13 @@ defmodule MvWeb.Components.FieldVisibilityDropdownComponent do custom_fields = assigns.custom_fields || [] all_items = - Enum.map(member_fields(all_fields), fn field -> + Enum.map(extract_member_field_keys(all_fields), fn field -> %{ value: field_to_string(field), label: format_field_label(field) } end) ++ - Enum.map(custom_fields(all_fields), fn field -> + Enum.map(extract_custom_field_keys(all_fields), fn field -> %{ value: field, label: format_custom_field_label(field, custom_fields) @@ -128,18 +128,18 @@ defmodule MvWeb.Components.FieldVisibilityDropdownComponent do # HELPERS (with defensive nil guards) # --------------------------------------------------------------------------- - defp member_fields(nil), do: [] + defp extract_member_field_keys(nil), do: [] - defp member_fields(fields) do + defp extract_member_field_keys(fields) do Enum.filter(fields, fn field -> is_atom(field) || (is_binary(field) && not String.starts_with?(field, "custom_field_")) end) end - defp custom_fields(nil), do: [] + defp extract_custom_field_keys(nil), do: [] - defp custom_fields(fields) do + defp extract_custom_field_keys(fields) do Enum.filter(fields, fn field -> is_binary(field) && String.starts_with?(field, "custom_field_") end)