Merge branch 'migration-fixes-20' into 'develop'
[akkoma] / lib / pleroma / web / static_fe / static_fe_view.ex
index 7f58e1b2d84139c26de2487686b3763c44ad1b49..821ece9a9a35d2d8eafc5c112a7f5f455bb367af 100644 (file)
@@ -5,15 +5,43 @@
 defmodule Pleroma.Web.StaticFE.StaticFEView do
   use Pleroma.Web, :view
 
+  alias Calendar.Strftime
+  alias Pleroma.Emoji.Formatter
   alias Pleroma.User
+  alias Pleroma.Web.Endpoint
+  alias Pleroma.Web.Gettext
   alias Pleroma.Web.MediaProxy
-  alias Pleroma.Formatter
+  alias Pleroma.Web.Metadata.Utils
+  alias Pleroma.Web.Router.Helpers
+
+  use Phoenix.HTML
+
+  @media_types ["image", "audio", "video"]
 
   def emoji_for_user(%User{} = user) do
-    (user.info.source_data["tag"] || [])
+    user.source_data
+    |> Map.get("tag", [])
     |> Enum.filter(fn %{"type" => t} -> t == "Emoji" end)
     |> Enum.map(fn %{"icon" => %{"url" => url}, "name" => name} ->
       {String.trim(name, ":"), url}
     end)
   end
+
+  def fetch_media_type(%{"mediaType" => mediaType}) do
+    Utils.fetch_media_type(@media_types, mediaType)
+  end
+
+  def format_date(date) do
+    {:ok, date, _} = DateTime.from_iso8601(date)
+    Strftime.strftime!(date, "%Y/%m/%d %l:%M:%S %p UTC")
+  end
+
+  def instance_name, do: Pleroma.Config.get([:instance, :name], "Pleroma")
+
+  def open_content? do
+    Pleroma.Config.get(
+      [:frontend_configurations, :collapse_message_with_subjects],
+      true
+    )
+  end
 end