in dev, allow dev FE
[akkoma] / lib / pleroma / web / static_fe / static_fe_view.ex
index d633751dd1102632990a16bf6b96775f0b4e367b..f0c9ddd224a2093cddb762d7243c5152f35cfc05 100644 (file)
@@ -1,13 +1,15 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.StaticFE.StaticFEView do
   use Pleroma.Web, :view
 
+  alias Calendar.Strftime
+  alias Pleroma.Emoji.Formatter
   alias Pleroma.User
+  alias Pleroma.Web.Gettext
   alias Pleroma.Web.MediaProxy
-  alias Pleroma.Formatter
   alias Pleroma.Web.Metadata.Utils
   alias Pleroma.Web.Router.Helpers
 
@@ -15,16 +17,42 @@ defmodule Pleroma.Web.StaticFE.StaticFEView do
 
   @media_types ["image", "audio", "video"]
 
-  def emoji_for_user(%User{} = user) do
-    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 time_ago(date) do
+    {:ok, date, _} = DateTime.from_iso8601(date)
+    now = DateTime.utc_now()
+
+    Timex.from_now(date, now)
+  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], "Akkoma")
+
+  def open_content? do
+    Pleroma.Config.get(
+      [:frontend_configurations, :collapse_message_with_subjects],
+      false
+    )
+  end
+
+  def get_attachment_name(%{"name" => name}), do: name
+
+  def get_attachment_name(_), do: ""
+
+  def poll_percentage(count, total_votes) do
+    case count do
+      0 ->
+        "0%"
+
+      _ ->
+        Integer.to_string(trunc(count / total_votes * 100)) <> "%"
+    end
+  end
 end