Reports, and who liked or boosted a post
Another's profile and posts can be reported from the client (/api/v1/reports): a category, words, and for a remote account a copy to its server, which PrivaPub sends from its own actor, never naming the persona. Who liked or boosted a post opens from its card's menu (favourited_by, reblogged_by). e2e: a report from a Mastodon account's profile reaches PrivaPub's moderators forwarded, and a post's likes and boosts list the persona who gave them; the admin helper the tests share moves to Support. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
bb68ff8d5e
commit
a0f07abf8c
17 files changed
+410
-16
No files matched your search
@@ -302,6 +302,20 @@
|
||||
<span>@Localizer["Open original"]</span>
|
||||
</a>
|
||||
}
|
||||
@if (status.FavouritesCount > 0)
|
||||
{
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" OnClick="@(() => showInteractedBy = false)" data-liked-by>
|
||||
<i aria-hidden="true" class="ion-md-heart text-base"></i>
|
||||
<span>@Localizer["Liked by"]</span>
|
||||
</DButton>
|
||||
}
|
||||
@if (status.ReblogsCount > 0)
|
||||
{
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" OnClick="@(() => showInteractedBy = true)" data-boosted-by>
|
||||
<i aria-hidden="true" class="ion-md-repeat text-base"></i>
|
||||
<span>@Localizer["Boosted by"]</span>
|
||||
</DButton>
|
||||
}
|
||||
@if (CanQuote(status))
|
||||
{
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" Disabled="IsDefaultDisabled" OnClick="ToggleQuote" data-quote>
|
||||
@@ -318,6 +332,10 @@
|
||||
}
|
||||
@if (!IsOwn)
|
||||
{
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" Disabled="IsDefaultDisabled" OnClick="@(() => isReporting = true)" data-report>
|
||||
<i aria-hidden="true" class="ion-md-flag text-base text-warning"></i>
|
||||
<span>@Localizer["Report"]</span>
|
||||
</DButton>
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" Disabled="IsDefaultDisabled || isActing" OnClick="@(() => AccountAction("mute"))">
|
||||
<i aria-hidden="true" class="ion-md-eye-off text-base text-warning"></i>
|
||||
<span>@Localizer["Mute"]</span>
|
||||
@@ -370,6 +388,14 @@
|
||||
{
|
||||
<Composer Editing="status" OnPublished="Edited" />
|
||||
}
|
||||
@if (isReporting && status.Account is { } reported)
|
||||
{
|
||||
<ReportDialog Account="reported" Post="status" OnClosed="@(() => isReporting = false)" />
|
||||
}
|
||||
@if (showInteractedBy is { } boosts)
|
||||
{
|
||||
<InteractedByDialog StatusId="@status.Id" Boosts="boosts" OnClosed="@(() => showInteractedBy = null)" />
|
||||
}
|
||||
@if (isHistoryOpen)
|
||||
{
|
||||
<DModal IsOpen="true" IsOpenChanged="HistoryClosed" CloseText="@Localizer["Close"]" data-history-list>
|
||||
@@ -452,6 +478,9 @@
|
||||
bool isReadingProvenance;
|
||||
bool isReadingServer;
|
||||
bool isHistoryOpen;
|
||||
bool isReporting;
|
||||
// who liked it (false) or boosted it (true), when that list is open
|
||||
bool? showInteractedBy;
|
||||
List<StatusEdit> history = [];
|
||||
readonly HashSet<string> revealedMedia = [];
|
||||
|
||||
|
||||
Reference in new issue
Block a user