mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-11-10 03:17:51 +00:00
Redirect to standard FE if logged in
This commit is contained in:
parent
221a95b860
commit
1afba64464
3 changed files with 21 additions and 10 deletions
|
@ -9,7 +9,7 @@ defmodule Pleroma.Web.Plugs.StaticFEPlug do
|
|||
def init(options), do: options
|
||||
|
||||
def call(conn, _) do
|
||||
if enabled?() and requires_html?(conn) do
|
||||
if enabled?() and requires_html?(conn) and not_logged_in?(conn) do
|
||||
conn
|
||||
|> StaticFEController.call(:show)
|
||||
|> halt()
|
||||
|
@ -23,4 +23,7 @@ defmodule Pleroma.Web.Plugs.StaticFEPlug do
|
|||
defp requires_html?(conn) do
|
||||
Phoenix.Controller.get_format(conn) == "html"
|
||||
end
|
||||
|
||||
defp not_logged_in?(%{assigns: %{user: %Pleroma.User{}}}), do: false
|
||||
defp not_logged_in?(_), do: true
|
||||
end
|
||||
|
|
|
@ -150,6 +150,8 @@ defmodule Pleroma.Web.Router do
|
|||
end
|
||||
|
||||
pipeline :static_fe do
|
||||
plug(:fetch_session)
|
||||
plug(:authenticate)
|
||||
plug(Pleroma.Web.Plugs.StaticFEPlug)
|
||||
end
|
||||
|
||||
|
|
|
@ -180,15 +180,7 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do
|
|||
nil
|
||||
end
|
||||
|
||||
reply_to_user =
|
||||
if data["inReplyTo"] do
|
||||
activity
|
||||
|> Activity.get_in_reply_to_activity()
|
||||
|> Map.get(:actor)
|
||||
|> User.get_cached_by_ap_id()
|
||||
else
|
||||
nil
|
||||
end
|
||||
reply_to_user = in_reply_to_user(activity)
|
||||
|
||||
total_votes =
|
||||
if data["oneOf"] do
|
||||
|
@ -217,6 +209,20 @@ defmodule Pleroma.Web.StaticFE.StaticFEController do
|
|||
}
|
||||
end
|
||||
|
||||
defp in_reply_to_user(%Activity{object: %Object{data: %{"inReplyTo" => inReplyTo}}} = activity) when is_binary(inReplyTo) do
|
||||
in_reply_to_activity = Activity.get_in_reply_to_activity(activity)
|
||||
|
||||
if in_reply_to_activity do
|
||||
in_reply_to_activity
|
||||
|> Map.get(:actor)
|
||||
|> User.get_cached_by_ap_id()
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
defp in_reply_to_user(_), do: nil
|
||||
|
||||
defp assign_id(%{path_info: ["notice", notice_id]} = conn, _opts),
|
||||
do: assign(conn, :notice_id, notice_id)
|
||||
|
||||
|
|
Loading…
Reference in a new issue