diff options
Diffstat (limited to 'templates/actor/profile_follow_button.php')
| -rw-r--r-- | templates/actor/profile_follow_button.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/templates/actor/profile_follow_button.php b/templates/actor/profile_follow_button.php new file mode 100644 index 0000000..e2b314d --- /dev/null +++ b/templates/actor/profile_follow_button.php @@ -0,0 +1,20 @@ +<?php +use Digitigrade\Model\FollowRelation; +use Digitigrade\Model\FollowRelationStatus; + +$relation = FollowRelation::findByActors($user->actor, $actor); +$state = match ($relation?->status) { + null => $actor->requestToFollow ? 'request' : 'normal', + FollowRelationStatus::PENDING => 'pending', + FollowRelationStatus::ACTIVE => 'active' +}; +?> +<button class="<?= $state == 'active' ? 'secondary' : 'primary' ?>" + hx-post="/fragment/actor/<?= $actor->id ?>/followButton" hx-swap="outerHTML" <?= $state == 'pending' ? 'disabled' : '' ?> hx-disabled-elt="this"> + <?= __(match ($state) { + 'active' => 'user.profile.unfollow.action', + 'pending' => 'user.profile.follow.pending', + 'request' => 'user.profile.requestToFollow.action', + 'normal' => 'user.profile.follow.action' + }) ?> +</button>
\ No newline at end of file |
