diff --git a/CLAUDE.md b/CLAUDE.md index 68f8729..aa14722 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -237,6 +237,9 @@ supplies: - **Threads** (`Pages/ExpandMessage.razor` at `/expand/{id}`): opening a remote thread makes PrivaPub read its replies from their servers (its FEP-7888 `context`, else `replies`), so the page reads the thread again after 4 and 15 seconds and adds what was found, in the thread's order. +- **Interaction policies** (GoToSocial's): a reply or boost whose target's author must approve it shows so on its card + (`privapub.approval`: pending, then nothing once approved, or rejected); one the policy shuts out is refused by + PrivaPub (422) and shown as an error. - **Settings** (`Pages/Settings.razor`, `Components/Settings/`): the persona's profile (`ProfileEditor`: `update_credentials` as multipart, its words as written from `Account.Source`, pictures, fields, locked, bot, discoverable, indexable and posting defaults; the composer starts a new post at its default visibility), its mutes, diff --git a/Components/Content.razor b/Components/Content.razor index 04f547a..fb510ad 100644 --- a/Components/Content.razor +++ b/Components/Content.razor @@ -179,6 +179,15 @@

} + @if (status.Privapub?.Approval is "pending" or "rejected") + { + @* its target's author must approve it (GoToSocial's interaction policies): until then it went to that author alone *@ +

+ + @(status.Privapub.Approval == "pending" ? Localizer["Waiting for its author's approval"] : Localizer["Its author did not approve it"]) +

+ } + @if (!Post.Located && !Compact) {