fix(moderation): keep signal pagination with its queue
This commit is contained in:
parent
4f8677927a
commit
504c0af867
|
|
@ -396,7 +396,11 @@ defmodule WhoNeedHelpWeb.ModerationLive do
|
|||
</button>
|
||||
</section>
|
||||
|
||||
<section :if={@evidence} class="mt-8 rounded-3xl bg-neutral p-6 text-neutral-content">
|
||||
<section
|
||||
:if={@evidence}
|
||||
id="report-evidence"
|
||||
class="mt-8 rounded-3xl bg-neutral p-6 text-neutral-content"
|
||||
>
|
||||
<div class="flex items-center justify-between">
|
||||
<h2 class="text-xl font-bold">{gettext("Reported evidence")}</h2>
|
||||
<button phx-click="close-evidence" class="btn btn-sm">{gettext("Close")}</button>
|
||||
|
|
@ -421,17 +425,9 @@ defmodule WhoNeedHelpWeb.ModerationLive do
|
|||
{gettext("This report has no linked conversation.")}
|
||||
</p>
|
||||
</div>
|
||||
<button
|
||||
:if={@signals_cursor}
|
||||
type="button"
|
||||
phx-click="load-more-signals"
|
||||
class="btn btn-outline btn-sm mt-4"
|
||||
>
|
||||
{gettext("Load more")}
|
||||
</button>
|
||||
</section>
|
||||
|
||||
<section class="mt-10">
|
||||
<section id="abuse-signals" class="mt-10">
|
||||
<h2 class="text-2xl font-bold">{gettext("Open abuse signals")}</h2>
|
||||
<div class="mt-4 space-y-3">
|
||||
<article :for={signal <- @signals} class="rounded-2xl bg-base-200 p-5">
|
||||
|
|
@ -471,6 +467,14 @@ defmodule WhoNeedHelpWeb.ModerationLive do
|
|||
{gettext("No open signals.")}
|
||||
</p>
|
||||
</div>
|
||||
<button
|
||||
:if={@signals_cursor}
|
||||
type="button"
|
||||
phx-click="load-more-signals"
|
||||
class="btn btn-outline btn-sm mt-4"
|
||||
>
|
||||
{gettext("Load more")}
|
||||
</button>
|
||||
</section>
|
||||
|
||||
<section class="mt-10">
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do
|
|||
|
||||
alias WhoNeedHelp.{Accounts, Activities, Catalog, Help, Messaging, Notifications, Trust}
|
||||
alias WhoNeedHelp.Repo
|
||||
alias WhoNeedHelp.Trust.AbuseSignal
|
||||
|
||||
setup :register_and_log_in_user
|
||||
|
||||
|
|
@ -1147,6 +1148,48 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do
|
|||
assert evidence_html =~ "Evidence message"
|
||||
end
|
||||
|
||||
test "abuse-signal pagination stays available without opening report evidence", %{
|
||||
conn: conn,
|
||||
user: user
|
||||
} do
|
||||
user |> Ecto.Changeset.change(role: :moderator) |> Repo.update!()
|
||||
subject = user_fixture(display_name: "Signal subject")
|
||||
|
||||
for sequence <- 1..25 do
|
||||
%AbuseSignal{}
|
||||
|> AbuseSignal.changeset(%{
|
||||
kind: :manual,
|
||||
subject_id: subject.id,
|
||||
metadata: %{"sequence" => sequence}
|
||||
})
|
||||
|> Repo.insert!()
|
||||
end
|
||||
|
||||
{:ok, view, _html} = live(conn, ~p"/moderation")
|
||||
|
||||
assert has_element?(
|
||||
view,
|
||||
"#abuse-signals > button[phx-click='load-more-signals']"
|
||||
)
|
||||
|
||||
refute has_element?(view, "#report-evidence button[phx-click='load-more-signals']")
|
||||
|
||||
view
|
||||
|> element("#abuse-signals > button[phx-click='load-more-signals']")
|
||||
|> render_click()
|
||||
|
||||
assert view
|
||||
|> render()
|
||||
|> LazyHTML.from_document()
|
||||
|> LazyHTML.query("#abuse-signals article")
|
||||
|> Enum.count() == 25
|
||||
|
||||
refute has_element?(
|
||||
view,
|
||||
"#abuse-signals > button[phx-click='load-more-signals']"
|
||||
)
|
||||
end
|
||||
|
||||
test "request page exposes report and block controls for another user", %{conn: conn} do
|
||||
category = Catalog.seed_defaults()
|
||||
requester = user_fixture(display_name: "Requester")
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user