chore: movs display name helper to won helper module
This commit is contained in:
parent
29a953c038
commit
9f97515d74
10 changed files with 234 additions and 84 deletions
|
|
@ -1165,61 +1165,6 @@ defmodule MvWeb.MemberLive.Index do
|
|||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns a display name for a member.
|
||||
|
||||
Combines first_name and last_name if available, otherwise falls back to email.
|
||||
This ensures that members without names still have a meaningful display name.
|
||||
|
||||
## Examples
|
||||
|
||||
iex> member = %Member{first_name: "John", last_name: "Doe", email: "john@example.com"}
|
||||
iex> display_name(member)
|
||||
"John Doe"
|
||||
|
||||
iex> member = %Member{first_name: nil, last_name: nil, email: "john@example.com"}
|
||||
iex> display_name(member)
|
||||
"john@example.com"
|
||||
|
||||
iex> member = %Member{first_name: "John", last_name: nil, email: "john@example.com"}
|
||||
iex> display_name(member)
|
||||
"John"
|
||||
"""
|
||||
def display_name(member) do
|
||||
name_parts =
|
||||
[member.first_name, member.last_name]
|
||||
|> Enum.reject(&blank?/1)
|
||||
|> Enum.map_join(" ", &String.trim/1)
|
||||
|
||||
if name_parts == "" do
|
||||
member.email
|
||||
else
|
||||
name_parts
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Checks if a value is blank (nil, empty string, or only whitespace).
|
||||
|
||||
## Examples
|
||||
|
||||
iex> blank?(nil)
|
||||
true
|
||||
|
||||
iex> blank?("")
|
||||
true
|
||||
|
||||
iex> blank?(" ")
|
||||
true
|
||||
|
||||
iex> blank?("John")
|
||||
false
|
||||
"""
|
||||
def blank?(nil), do: true
|
||||
def blank?(""), do: true
|
||||
def blank?(value) when is_binary(value), do: String.trim(value) == ""
|
||||
def blank?(_), do: false
|
||||
|
||||
# Public helper function to format dates for use in templates
|
||||
def format_date(date), do: DateFormatter.format_date(date)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue