diff --git a/CLAUDE.md b/CLAUDE.md
index 37e9841..3640ff9 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -239,6 +239,9 @@ supplies:
persona pins and unpins its own public and unlisted posts from the card's menu.
An account that moved says where to (`Account.Moved`, which PrivaPub fills once the new account names the old one),
linking the new account's profile.
+ Another's profile and posts can be reported (`Components/ReportDialog.razor`, `/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 (`Components/InteractedByDialog.razor`).
- **Walls** (Smithereen's, FEP-400e): a post written on someone's wall says whose (`privapub.wall`, `data-wall`, linking
that profile); one written on the persona's own wall is taken off from the card's menu (`DELETE` on the status, which
PrivaPub turns into a `Remove` that Smithereen takes for a deletion). Only the persona's followers may write there.
diff --git a/Components/Content.razor b/Components/Content.razor
index 4b57c0b..a29dce8 100644
--- a/Components/Content.razor
+++ b/Components/Content.razor
@@ -302,6 +302,20 @@
@Localizer["Open original"]
}
+ @if (status.FavouritesCount > 0)
+ {
+
+
+ @Localizer["Liked by"]
+
+ }
+ @if (status.ReblogsCount > 0)
+ {
+
+
+ @Localizer["Boosted by"]
+
+ }
@if (CanQuote(status))
{
@@ -318,6 +332,10 @@
}
@if (!IsOwn)
{
+
+
+ @Localizer["Report"]
+ @Localizer["Mute"]
@@ -370,6 +388,14 @@
{
}
+ @if (isReporting && status.Account is { } reported)
+ {
+
+ }
+ @if (showInteractedBy is { } boosts)
+ {
+
+ }
@if (isHistoryOpen)
{
@@ -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 history = [];
readonly HashSet revealedMedia = [];
diff --git a/Components/InteractedByDialog.razor b/Components/InteractedByDialog.razor
new file mode 100644
index 0000000..72ba5d8
--- /dev/null
+++ b/Components/InteractedByDialog.razor
@@ -0,0 +1,59 @@
+@inherits LocalizableComponentBase
+
+@* Who liked a post, or boosted it (/api/v1/statuses/:id/favourited_by, reblogged_by): the accounts PrivaPub knows to
+ have done so, newest first, each opening its profile. *@
+
+ @(Boosts ? Localizer["Boosted by"] : Localizer["Liked by"])
+
+ @if (IsLoading)
+ {
+