aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates
diff options
context:
space:
mode:
authorwinter2025-01-23 18:55:52 +0000
committerwinter2025-01-23 18:55:52 +0000
commitcc7cdfdd5fa49abffb5fd0e852db66bf6fe2cf14 (patch)
tree0f1c0f148c09d572a990bd8317c2f5b135932744 /templates
parentddccaf16f39a4bf710266edc389fcde124e7ef56 (diff)
implement blocking users
it doesn't work yet for notifications! but i think i got it in most other places
Diffstat (limited to 'templates')
-rw-r--r--templates/actor_profile.php4
-rw-r--r--templates/actor_profile_block_button.php7
-rw-r--r--templates/notifications_panel.php2
3 files changed, 12 insertions, 1 deletions
diff --git a/templates/actor_profile.php b/templates/actor_profile.php
index 2947a72..cfcc510 100644
--- a/templates/actor_profile.php
+++ b/templates/actor_profile.php
@@ -17,7 +17,9 @@ $user = UserAccount::findByCurrentSession();
<div class="handle">@<?= $actor->getFullHandle() ?></div>
<div class="joinedDate"><?= sprintf(__('user.profile.createdAt'), $actor->created->format('Y-m-d')) ?></div>
</div>
- <div>
+ <div class="profileMiniActions">
+ <?php if ($user != null && $user->actor != $actor)
+ call_template('actor_profile_block_button', ['actor' => $actor, 'user' => $user]); ?>
<?php if (!$actor->isLocal): ?>
<a class="material-symbols open-in-new" href="<?= $actor->homepage ?>"
title="<?= __('user.profile.openRemote') ?>" target="_blank"></a>
diff --git a/templates/actor_profile_block_button.php b/templates/actor_profile_block_button.php
new file mode 100644
index 0000000..f82cc9a
--- /dev/null
+++ b/templates/actor_profile_block_button.php
@@ -0,0 +1,7 @@
+<?php
+$blocks = $user->actor->blocks($actor);
+$action = $blocks ? 'unblock' : 'block';
+?>
+<button class="material-symbols <?= $blocks ? 'remove' : 'block' ?>" title="<?= __("user.profile.$action") ?>"
+ hx-confirm="<?= __("user.profile.$action.confirm") ?>" hx-post="/fragment/actor/<?= $actor->id ?>/blockButton"
+ hx-swap="outerHTML"></button> \ No newline at end of file
diff --git a/templates/notifications_panel.php b/templates/notifications_panel.php
index 3ca8faf..98a04e3 100644
--- a/templates/notifications_panel.php
+++ b/templates/notifications_panel.php
@@ -13,6 +13,8 @@ $notifications = Notification::findAllForUser($user, 50);
}
foreach ($notifications as $notif) {
$notif = $notif->toNotifyable();
+ if ($notif == null)
+ continue;
call_template('notification', [
'title' => $notif->getNotificationTitle(),
'body' => $notif->getNotificationBody(),