|
@@ -6,7 +6,32 @@ defmodule CvGenView.Date do
|
|
|
|
|
|
|
|
def date(assigns) do
|
|
def date(assigns) do
|
|
|
~H"""
|
|
~H"""
|
|
|
- <time datetime={@date} {@rest}><%= @date %></time>
|
|
|
|
|
|
|
+ <time datetime={@date} {@rest}><%= localized(@date) %></time>
|
|
|
"""
|
|
"""
|
|
|
end
|
|
end
|
|
|
|
|
+
|
|
|
|
|
+ defp localized(nil), do: "Aujourd'hui"
|
|
|
|
|
+
|
|
|
|
|
+ defp localized(date) when is_binary(date) do
|
|
|
|
|
+ case String.split(date, "-") do
|
|
|
|
|
+ [year, month] ->
|
|
|
|
|
+ {year, month} = {String.to_integer(year), String.to_integer(month)}
|
|
|
|
|
+ Date.new!(year, month, 1) |> localized()
|
|
|
|
|
+
|
|
|
|
|
+ [year] ->
|
|
|
|
|
+ year
|
|
|
|
|
+ end
|
|
|
|
|
+ end
|
|
|
|
|
+
|
|
|
|
|
+ defp localized(date) when is_struct(date, Date),
|
|
|
|
|
+ do:
|
|
|
|
|
+ Calendar.strftime(
|
|
|
|
|
+ date,
|
|
|
|
|
+ "%B %Y",
|
|
|
|
|
+ month_names: fn month ->
|
|
|
|
|
+ {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre",
|
|
|
|
|
+ "Octobre", "Novembre", "Décembre"}
|
|
|
|
|
+ |> elem(month - 1)
|
|
|
|
|
+ end
|
|
|
|
|
+ )
|
|
|
end
|
|
end
|