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