summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2021-12-28 19:37:56 -0500
committerTusooa Zhu <tusooa@kazv.moe>2022-08-20 21:13:52 -0400
commit1218adacc52f1235aedb1bb102d2e9385507efa4 (patch)
tree7af44c736183f53ab112eb1b226c776b06baf5bd
parentb7c75db0f7f2c048d45fc387dfcf00073cbf8d62 (diff)
Display status link in remote interaction form
-rw-r--r--lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex5
-rw-r--r--lib/pleroma/web/twitter_api/controllers/util_controller.ex22
-rw-r--r--lib/pleroma/web/twitter_api/views/util_view.ex1
3 files changed, 14 insertions, 14 deletions
diff --git a/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex b/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
index 6354b409f..695c5d64b 100644
--- a/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
+++ b/lib/pleroma/web/templates/twitter_api/util/status_interact.html.eex
@@ -1,10 +1,7 @@
<%= if @error do %>
<h2>Error: <%= @error %></h2>
<% else %>
- <h2>Interacting with <%= @nickname %></h2>
- <div>
- <%= @status_id %>
- </div>
+ <h2>Interacting with <%= @nickname %>'s <%= link("status", to: @status_link) %></h2>
<%= form_for @conn, Routes.util_path(@conn, :remote_subscribe), [as: "status"], fn f -> %>
<%= hidden_input f, :status_id, value: @status_id %>
<%= text_input f, :profile, placeholder: "Your account ID, e.g. lain@quitter.se" %>
diff --git a/lib/pleroma/web/twitter_api/controllers/util_controller.ex b/lib/pleroma/web/twitter_api/controllers/util_controller.ex
index 24b419c31..2c3103185 100644
--- a/lib/pleroma/web/twitter_api/controllers/util_controller.ex
+++ b/lib/pleroma/web/twitter_api/controllers/util_controller.ex
@@ -70,10 +70,12 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
def show_subscribe_form(conn, %{"status_id" => id}) do
with %Activity{} = activity <- Activity.get_by_id(id),
+ {:ok, ap_id} <- get_ap_id(activity),
%User{} = user <- User.get_cached_by_ap_id(activity.actor),
avatar = User.avatar_url(user) do
conn
|> render("status_interact.html", %{
+ status_link: ap_id,
status_id: id,
nickname: user.nickname,
avatar: avatar,
@@ -113,18 +115,9 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
end
def remote_subscribe(conn, %{"status" => %{"status_id" => id, "profile" => profile}}) do
- get_ap_id = fn activity ->
- object = Pleroma.Object.normalize(activity, fetch: false)
-
- case object do
- %{data: %{"id" => ap_id}} -> {:ok, ap_id}
- _ -> {:no_ap_id, nil}
- end
- end
-
with {:ok, %{"subscribe_address" => template}} <- WebFinger.finger(profile),
%Activity{} = activity <- Activity.get_by_id(id),
- {:ok, ap_id} <- get_ap_id.(activity) do
+ {:ok, ap_id} <- get_ap_id(activity) do
conn
|> Phoenix.Controller.redirect(external: String.replace(template, "{uri}", ap_id))
else
@@ -146,6 +139,15 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
end
end
+ defp get_ap_id(activity) do
+ object = Pleroma.Object.normalize(activity, fetch: false)
+
+ case object do
+ %{data: %{"id" => ap_id}} -> {:ok, ap_id}
+ _ -> {:no_ap_id, nil}
+ end
+ end
+
def frontend_configurations(conn, _params) do
render(conn, "frontend_configurations.json")
end
diff --git a/lib/pleroma/web/twitter_api/views/util_view.ex b/lib/pleroma/web/twitter_api/views/util_view.ex
index 69f243097..2365a396b 100644
--- a/lib/pleroma/web/twitter_api/views/util_view.ex
+++ b/lib/pleroma/web/twitter_api/views/util_view.ex
@@ -5,6 +5,7 @@
defmodule Pleroma.Web.TwitterAPI.UtilView do
use Pleroma.Web, :view
import Phoenix.HTML.Form
+ import Phoenix.HTML.Link
alias Pleroma.Config
alias Pleroma.Web.Endpoint
alias Pleroma.Web.Gettext