c19aa07e1d4c0c08062884e8dc4e55037bffd84c
[akkoma] / lib / pleroma / web / static_fe / static_fe_view.ex
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.StaticFE.StaticFEView do
6 use Pleroma.Web, :view
7
8 alias Pleroma.User
9 alias Pleroma.Web.Gettext
10 alias Pleroma.Web.MediaProxy
11 alias Pleroma.Formatter
12 alias Pleroma.Web.Metadata.Utils
13 alias Pleroma.Web.Router.Helpers
14
15 use Phoenix.HTML
16
17 @media_types ["image", "audio", "video"]
18
19 def emoji_for_user(%User{} = user) do
20 user.source_data
21 |> Map.get("tag", [])
22 |> Enum.filter(fn %{"type" => t} -> t == "Emoji" end)
23 |> Enum.map(fn %{"icon" => %{"url" => url}, "name" => name} ->
24 {String.trim(name, ":"), url}
25 end)
26 end
27
28 def fetch_media_type(%{"mediaType" => mediaType}) do
29 Utils.fetch_media_type(@media_types, mediaType)
30 end
31
32 def format_date(date) do
33 {:ok, date, _} = DateTime.from_iso8601(date)
34 Pleroma.Web.CommonAPI.Utils.format_asctime(date)
35 end
36 end