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>
|
</button>
|
||||||
</section>
|
</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">
|
<div class="flex items-center justify-between">
|
||||||
<h2 class="text-xl font-bold">{gettext("Reported evidence")}</h2>
|
<h2 class="text-xl font-bold">{gettext("Reported evidence")}</h2>
|
||||||
<button phx-click="close-evidence" class="btn btn-sm">{gettext("Close")}</button>
|
<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.")}
|
{gettext("This report has no linked conversation.")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</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>
|
||||||
|
|
||||||
<section class="mt-10">
|
<section id="abuse-signals" class="mt-10">
|
||||||
<h2 class="text-2xl font-bold">{gettext("Open abuse signals")}</h2>
|
<h2 class="text-2xl font-bold">{gettext("Open abuse signals")}</h2>
|
||||||
<div class="mt-4 space-y-3">
|
<div class="mt-4 space-y-3">
|
||||||
<article :for={signal <- @signals} class="rounded-2xl bg-base-200 p-5">
|
<article :for={signal <- @signals} class="rounded-2xl bg-base-200 p-5">
|
||||||
|
|
@ -471,6 +467,14 @@ defmodule WhoNeedHelpWeb.ModerationLive do
|
||||||
{gettext("No open signals.")}
|
{gettext("No open signals.")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</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>
|
||||||
|
|
||||||
<section class="mt-10">
|
<section class="mt-10">
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do
|
||||||
|
|
||||||
alias WhoNeedHelp.{Accounts, Activities, Catalog, Help, Messaging, Notifications, Trust}
|
alias WhoNeedHelp.{Accounts, Activities, Catalog, Help, Messaging, Notifications, Trust}
|
||||||
alias WhoNeedHelp.Repo
|
alias WhoNeedHelp.Repo
|
||||||
|
alias WhoNeedHelp.Trust.AbuseSignal
|
||||||
|
|
||||||
setup :register_and_log_in_user
|
setup :register_and_log_in_user
|
||||||
|
|
||||||
|
|
@ -1147,6 +1148,48 @@ defmodule WhoNeedHelpWeb.MutualAidLiveTest do
|
||||||
assert evidence_html =~ "Evidence message"
|
assert evidence_html =~ "Evidence message"
|
||||||
end
|
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
|
test "request page exposes report and block controls for another user", %{conn: conn} do
|
||||||
category = Catalog.seed_defaults()
|
category = Catalog.seed_defaults()
|
||||||
requester = user_fixture(display_name: "Requester")
|
requester = user_fixture(display_name: "Requester")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user