Merge branch 'feature/fe-configuration' into 'develop'
[akkoma] / lib / pleroma / web / twitter_api / controllers / util_controller.ex
index 73a46bb5ebb7da82bf77b7997e4b65b8634964ac..47fc79350e2b689be6effd22be906f23807f2d48 100644 (file)
@@ -126,6 +126,8 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   @instance Application.get_env(:pleroma, :instance)
+  @instance_fe Application.get_env(:pleroma, :fe)
+  @instance_chat Application.get_env(:pleroma, :chat)
   def config(conn, _params) do
     case get_format(conn) do
       "xml" ->
@@ -148,9 +150,24 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
         json(conn, %{
           site: %{
             name: Keyword.get(@instance, :name),
+            description: Keyword.get(@instance, :description),
             server: Web.base_url(),
             textlimit: to_string(Keyword.get(@instance, :limit)),
-            closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1")
+            closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1"),
+            private: if(Keyword.get(@instance, :public, true), do: "0", else: "1"),
+            pleromafe: %{
+              theme: Keyword.get(@instance_fe, :theme),
+              background: Keyword.get(@instance_fe, :background),
+              logo: Keyword.get(@instance_fe, :logo),
+              redirectRootNoLogin: Keyword.get(@instance_fe, :redirect_root_no_login),
+              redirectRootLogin: Keyword.get(@instance_fe, :redirect_root_login),
+              chatDisabled: !Keyword.get(@instance_chat, :enabled),
+              showInstanceSpecificPanel: Keyword.get(@instance_fe, :show_instance_panel),
+              showWhoToFollowPanel: Keyword.get(@instance_fe, :show_who_to_follow_panel),
+              scopeOptionsEnabled: Keyword.get(@instance_fe, :scope_options_enabled),
+              whoToFollowProvider: Keyword.get(@instance_fe, :who_to_follow_provider),
+              whoToFollowLink: Keyword.get(@instance_fe, :who_to_follow_link)
+            }
           }
         })
     end
@@ -173,32 +190,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def emoji(conn, _params) do
-    static_dir = Path.join(:code.priv_dir(:pleroma), "static")
-
-    emoji_shortcode_glob =
-      Application.get_env(:pleroma, :emoji, [])
-      |> Keyword.get(:shortcode_glob)
-
-    shortcode_emoji =
-      case emoji_shortcode_glob do
-        nil ->
-          []
-
-        glob ->
-          Path.join(static_dir, glob)
-          |> Path.wildcard()
-          |> Enum.map(fn path ->
-            shortcode = Path.basename(path, ".png")
-            serve_path = Path.join("/", Path.relative_to(path, static_dir))
-            {shortcode, serve_path}
-          end)
-      end
-
-    emoji =
-      Enum.into(Formatter.get_custom_emoji(), shortcode_emoji)
-      |> Enum.into(%{})
-
-    json(conn, emoji)
+    json(conn, Enum.into(Formatter.get_custom_emoji(), %{}))
   end
 
   def follow_import(conn, %{"list" => %Plug.Upload{} = listfile}) do