aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/actor/profile.php
diff options
context:
space:
mode:
authorwinter2025-03-15 18:53:29 +0000
committerwinter2025-03-15 18:53:29 +0000
commite0588a6113ff6b3c1000fa6c82629f81fb5e05b5 (patch)
treeef6beb046a7dcc7542b88f0962d4e5e264895b7a /templates/actor/profile.php
parent61b122e88cc6783b4d0cf5142a22002f8e558c60 (diff)
[refactor] move some templates to subdirs
Diffstat (limited to 'templates/actor/profile.php')
-rw-r--r--templates/actor/profile.php83
1 files changed, 83 insertions, 0 deletions
diff --git a/templates/actor/profile.php b/templates/actor/profile.php
new file mode 100644
index 0000000..be27c86
--- /dev/null
+++ b/templates/actor/profile.php
@@ -0,0 +1,83 @@
+<?php
+use Digitigrade\Model\UserAccount;
+use Digitigrade\UserSettings;
+
+$user = UserAccount::findByCurrentSession();
+$actorUser = UserAccount::findByLinkedActor($actor);
+?>
+<div class="fullProfile">
+ <div class="basicInfo">
+
+ <?php if ($addLink ?? false): ?>
+ <a href="/@/<?= $actor->getFullHandle() ?>">
+ <?php endif; ?>
+ <?php call_template('actor/avatar', ['actor' => $actor]); ?>
+ <?php if ($addLink ?? false): ?>
+ </a>
+ <?php endif; ?>
+
+ <div>
+ <div class="displayName"><?= htmlspecialchars($actor->displayName) ?></div>
+ <div class="pronouns"><?= htmlspecialchars($actor->pronouns) ?></div>
+ <div class="handle">@<?= $actor->getFullHandle() ?></div>
+ <div class="joinedDate"><?= sprintf(__('user.profile.createdAt'), $actor->created->format('Y-m-d')) ?>
+ </div>
+ </div>
+
+ <div class="profileMiniActions">
+ <?php call_template('menu_button', [], function () use ($actor, $user, $actorUser) { ?>
+ <?php if (!$actor->isLocal && isset($actor->homepage)): ?>
+ <li>
+ <a href="<?= $actor->homepage ?>" target="_blank">
+ <span class="material-symbols open-in-new"></span>
+ <span><?= __('user.profile.openRemote') ?></span>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($actorUser != null && (new UserSettings($actorUser))->getBool('profile.rssEnabled')): ?>
+ <?php $lang = get_ui_language(); ?>
+ <li>
+ <a href="<?= "/actor/$actor->id/feed/$lang/feed.rss" ?>" target="_blank" type="application/rss+xml">
+ <span class="material-symbols rss-feed"></span>
+ <span><?= __('user.profile.feed.rss') ?></span>
+ </a>
+ </li>
+ <li>
+ <a href="<?= "/actor/$actor->id/feed/$lang/feed.atom" ?>" target="_blank" type="application/atom+xml">
+ <span class="material-symbols orbit-outline"></span>
+ <span><?= __('user.profile.feed.atom') ?></span>
+ </a>
+ </li>
+ <?php endif; ?>
+ <?php if ($user != null && $user->actor != $actor): ?>
+ <li><?php call_template('actor/profile_block_button', ['user' => $user, 'actor' => $actor]) ?></li>
+ <?php endif; ?>
+ <?php }); ?>
+ </div>
+
+ </div>
+
+ <?php if (isset($actor->bio) && $actor->bio != '') { ?>
+ <pre class="bio"><?= htmlspecialchars($actor->bio) ?></pre>
+ <?php } else {
+ call_template('placeholder_text', ['message' => __('user.profile.bio.placeholder')]);
+ } ?>
+
+ <?php if (isset($user) && $actor->id != $user->actor->id): ?>
+ <div class="profileActions">
+ <?php if ($actor->followsPending($user->actor))
+ call_template('actor/profile_pending_follow', ['subject' => $actor, 'object' => $user->actor]); ?>
+ <?php if ($actor->follows($user->actor)): ?>
+ <?= __('user.profile.followsYou') ?>
+ <?php endif; ?>
+ <?php call_template('actor/profile_follow_button', ['actor' => $actor, 'user' => $user]); ?>
+ </div>
+ <?php elseif ($actor->id == $user->actor->id): ?>
+ <div class="profileActions">
+ <button class="primary" hx-get="/fragment/profile" hx-target="closest .fullProfile" hx-swap="outerHTML">
+ <?= __('form.edit') ?>
+ </button>
+ </div>
+ <?php endif; ?>
+
+</div> \ No newline at end of file