MastoAPI AccountView: render profile emoji.
authoreal <eal@waifu.club>
Tue, 7 Aug 2018 18:56:50 +0000 (21:56 +0300)
committereal <eal@waifu.club>
Tue, 7 Aug 2018 18:56:50 +0000 (21:56 +0300)
lib/pleroma/web/mastodon_api/views/account_view.ex

index f33d615cfd1057bfbb6e71c8590d1ca3cafe7794..cc5261616f8e915e3f5a731fd411520882c1af38 100644 (file)
@@ -14,6 +14,18 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
     header = User.banner_url(user) |> MediaProxy.url()
     user_info = User.user_info(user)
 
+    emojis =
+      (user.info["source_data"]["tag"] || [])
+      |> Enum.filter(fn %{"type" => t} -> t == "Emoji" end)
+      |> Enum.map(fn %{"icon" => %{"url" => url}, "name" => name} ->
+        %{
+          "shortcode" => String.trim(name, ":"),
+          "url" => MediaProxy.url(url),
+          "static_url" => MediaProxy.url(url),
+          "visible_in_picker" => false
+        }
+      end)
+
     %{
       id: to_string(user.id),
       username: hd(String.split(user.nickname, "@")),
@@ -30,7 +42,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
       avatar_static: image,
       header: header,
       header_static: header,
-      emojis: [],
+      emojis: emojis,
       fields: [],
       source: %{
         note: "",