refactor(web): use canonical DateFormatter for all date display
This commit is contained in:
parent
ea105186a5
commit
18bf4dab2b
2 changed files with 7 additions and 18 deletions
|
|
@ -11,6 +11,7 @@ defmodule MvWeb.Helpers.MembershipFeeHelpers do
|
|||
alias Mv.Membership.Member
|
||||
alias Mv.MembershipFees.CalendarCycles
|
||||
alias Mv.MembershipFees.MembershipFeeCycle
|
||||
alias MvWeb.Helpers.DateFormatter
|
||||
|
||||
@doc """
|
||||
Formats a decimal amount as currency string.
|
||||
|
|
@ -98,8 +99,8 @@ defmodule MvWeb.Helpers.MembershipFeeHelpers do
|
|||
@spec format_cycle_range(Date.t(), :monthly | :quarterly | :half_yearly | :yearly) :: String.t()
|
||||
def format_cycle_range(cycle_start, interval) do
|
||||
cycle_end = CalendarCycles.calculate_cycle_end(cycle_start, interval)
|
||||
start_str = format_date(cycle_start)
|
||||
end_str = format_date(cycle_end)
|
||||
start_str = DateFormatter.format_date(cycle_start)
|
||||
end_str = DateFormatter.format_date(cycle_end)
|
||||
"#{start_str} - #{end_str}"
|
||||
end
|
||||
|
||||
|
|
@ -248,9 +249,4 @@ defmodule MvWeb.Helpers.MembershipFeeHelpers do
|
|||
def status_icon(:paid), do: "hero-check-circle"
|
||||
def status_icon(:unpaid), do: "hero-x-circle"
|
||||
def status_icon(:suspended), do: "hero-pause-circle"
|
||||
|
||||
# Private helper function for date formatting
|
||||
defp format_date(%Date{} = date) do
|
||||
Calendar.strftime(date, "%d.%m.%Y")
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ defmodule MvWeb.MemberLive.Show do
|
|||
alias Mv.Membership.CustomFieldValue
|
||||
alias Mv.Membership.Member, as: MemberResource
|
||||
alias Mv.Vereinfacht.Client, as: VereinfachtClient
|
||||
alias MvWeb.Helpers.DateFormatter
|
||||
alias MvWeb.Helpers.MemberHelpers
|
||||
alias MvWeb.Helpers.MembershipFeeHelpers
|
||||
alias Phoenix.HTML.Engine, as: HTMLEngine
|
||||
|
|
@ -159,12 +160,12 @@ defmodule MvWeb.MemberLive.Show do
|
|||
<div class="flex gap-6">
|
||||
<.data_field
|
||||
label={gettext("Join Date")}
|
||||
value={format_date(@member.join_date)}
|
||||
value={DateFormatter.format_date(@member.join_date)}
|
||||
class="w-28"
|
||||
/>
|
||||
<.data_field
|
||||
label={gettext("Exit Date")}
|
||||
value={format_date(@member.exit_date)}
|
||||
value={DateFormatter.format_date(@member.exit_date)}
|
||||
class="w-28"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -719,14 +720,6 @@ defmodule MvWeb.MemberLive.Show do
|
|||
end
|
||||
end
|
||||
|
||||
defp format_date(nil), do: nil
|
||||
|
||||
defp format_date(%Date{} = date) do
|
||||
Calendar.strftime(date, "%d.%m.%Y")
|
||||
end
|
||||
|
||||
defp format_date(date), do: to_string(date)
|
||||
|
||||
# Finds custom field value for a given custom field id
|
||||
# Returns the value (not the CustomFieldValue struct) or nil
|
||||
defp find_custom_field_value(nil, _custom_field_id), do: nil
|
||||
|
|
@ -760,7 +753,7 @@ defmodule MvWeb.MemberLive.Show do
|
|||
end
|
||||
|
||||
defp format_custom_field_value(%Date{} = date, :date) do
|
||||
Calendar.strftime(date, "%d.%m.%Y")
|
||||
DateFormatter.format_date(date)
|
||||
end
|
||||
|
||||
defp format_custom_field_value(value, :email) when is_binary(value) do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue