Pinned posts on profiles, and pinning from the card
A profile shows the posts the account pins above its posts (pinned=true: for an account elsewhere, what it features, which PrivaPub now keeps); the persona pins and unpins its own public and unlisted posts from the card's menu, and PrivaPub tells its followers. tests/e2e/Actions/PinTests.cs pins from the card and finds the post first on the profile; the whole e2e suite passes against the reseeded village (122, 4 skipped). 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
a5178a67b1
commit
da98addf76
8 files changed
+119
-3
No files matched your search
@@ -293,6 +293,14 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (CanPin(status))
|
||||
{
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" Disabled="IsDefaultDisabled || isActing"
|
||||
OnClick="() => Act(status.Pinned ? StatusAction.Unpin : StatusAction.Pin)" data-pin>
|
||||
<i aria-hidden="true" class="ion-md-pin text-base"></i>
|
||||
<span>@(status.Pinned ? Localizer["Unpin from profile"] : Localizer["Pin on profile"])</span>
|
||||
</DButton>
|
||||
}
|
||||
<DButton Size="DSize.Sm" class="justify-start whitespace-nowrap" Disabled="IsDefaultDisabled" OnClick="ToggleEdit" data-edit>
|
||||
<i aria-hidden="true" class="ion-md-create text-base"></i>
|
||||
<span>@Localizer["Edit"]</span>
|
||||
@@ -701,6 +709,8 @@
|
||||
|
||||
HashSet<int> pollChoices = [];
|
||||
|
||||
// a profile shows the persona's own public and unlisted posts it pins, as Mastodon allows
|
||||
bool CanPin(Status status) => !Compact && !Post.Located && status.Reblog is null && status.Visibility is ("public" or "unlisted");
|
||||
bool CanVote(Poll poll) => !poll.Expired && poll.Voted != true && !IsOwn && !Compact && !Post.Located;
|
||||
|
||||
void ToggleChoice(Poll poll, int index)
|
||||
|
||||
Reference in new issue
Block a user