Add basic metadata to opengraph preview
Also refactor datetime & address utils Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -1,39 +1,15 @@
|
||||
defmodule Mobilizon.Web.EmailView do
|
||||
use Mobilizon.Web, :view
|
||||
|
||||
alias Cldr.DateTime.Relative
|
||||
alias Mobilizon.Service.DateTime, as: DateTimeRenderer
|
||||
import Mobilizon.Web.Gettext
|
||||
|
||||
def datetime_to_string(%DateTime{} = datetime, locale \\ "en", format \\ :medium) do
|
||||
with {:ok, string} <-
|
||||
Mobilizon.Cldr.DateTime.to_string(datetime, format: format, locale: locale) do
|
||||
string
|
||||
end
|
||||
end
|
||||
defdelegate datetime_to_string(datetime, locale \\ "en", format \\ :medium),
|
||||
to: DateTimeRenderer
|
||||
|
||||
def datetime_to_time_string(%DateTime{} = datetime, locale \\ "en", format \\ :hm) do
|
||||
with {:ok, string} <-
|
||||
Mobilizon.Cldr.DateTime.to_string(datetime, format: format, locale: locale) do
|
||||
string
|
||||
end
|
||||
end
|
||||
defdelegate datetime_to_time_string(datetime, locale \\ "en", format \\ :short),
|
||||
to: DateTimeRenderer
|
||||
|
||||
@spec datetime_tz_convert(DateTime.t(), String.t()) :: DateTime.t()
|
||||
def datetime_tz_convert(%DateTime{} = datetime, timezone) do
|
||||
case DateTime.shift_zone(datetime, timezone) do
|
||||
{:ok, datetime_with_user_tz} ->
|
||||
datetime_with_user_tz
|
||||
|
||||
_ ->
|
||||
datetime
|
||||
end
|
||||
end
|
||||
|
||||
@spec datetime_relative(DateTime.t(), String.t()) :: String.t()
|
||||
def datetime_relative(%DateTime{} = datetime, locale \\ "en") do
|
||||
Relative.to_string!(datetime, Mobilizon.Cldr,
|
||||
relative_to: DateTime.utc_now(),
|
||||
locale: locale
|
||||
)
|
||||
end
|
||||
defdelegate datetime_tz_convert(datetime, timezone), to: DateTimeRenderer
|
||||
defdelegate datetime_relative(datetime, locale \\ "en"), to: DateTimeRenderer
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user