[#491] Made full nicknames be preserved in user links text only in Bio.
[akkoma] / lib / pleroma / formatter.ex
index 024c6e11756bba6b4b46b07b1e4444469dfb1164..37737853ad3e0c6c3ed58fa68a225b270c1175bf 100644 (file)
@@ -120,7 +120,7 @@ defmodule Pleroma.Formatter do
   end
 
   @doc "Adds the links to mentioned users"
-  def add_user_links({subs, text}, mentions) do
+  def add_user_links({subs, text}, mentions, options \\ []) do
     mentions =
       mentions
       |> Enum.sort_by(fn {name, _} -> -String.length(name) end)
@@ -142,11 +142,16 @@ defmodule Pleroma.Formatter do
               ap_id
             end
 
-          full_match = String.trim_leading(match, "@")
+          nickname =
+            if options[:format] == :full do
+              User.full_nickname(match)
+            else
+              User.local_nickname(match)
+            end
 
           {uuid,
            "<span class='h-card'><a data-user='#{id}' class='u-url mention' href='#{ap_id}'>" <>
-             "@<span>#{full_match}</span></a></span>"}
+             "@<span>#{nickname}</span></a></span>"}
         end)
 
     {subs, uuid_text}