aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/navigation
diff options
context:
space:
mode:
authorwinter2025-03-15 18:53:29 +0000
committerwinter2025-03-15 18:53:29 +0000
commite0588a6113ff6b3c1000fa6c82629f81fb5e05b5 (patch)
treeef6beb046a7dcc7542b88f0962d4e5e264895b7a /templates/navigation
parent61b122e88cc6783b4d0cf5142a22002f8e558c60 (diff)
[refactor] move some templates to subdirs
Diffstat (limited to 'templates/navigation')
-rw-r--r--templates/navigation/header_links.php12
-rw-r--r--templates/navigation/left_side.php41
-rw-r--r--templates/navigation/side_links.php13
3 files changed, 66 insertions, 0 deletions
diff --git a/templates/navigation/header_links.php b/templates/navigation/header_links.php
new file mode 100644
index 0000000..1540491
--- /dev/null
+++ b/templates/navigation/header_links.php
@@ -0,0 +1,12 @@
+<?php
+use Digitigrade\Router;
+?>
+<ul>
+ <?php foreach ($links as $href => $name): ?>
+ <?php if (Router::getInstance()->getCurrentPath() == $href): ?>
+ <li><span class="navlink disabled"><?= $name ?></span></li>
+ <?php else: ?>
+ <li><a class="navlink" href="<?= $href ?>"><?= $name ?></a></li>
+ <?php endif; ?>
+ <?php endforeach; ?>
+</ul> \ No newline at end of file
diff --git a/templates/navigation/left_side.php b/templates/navigation/left_side.php
new file mode 100644
index 0000000..219e7a1
--- /dev/null
+++ b/templates/navigation/left_side.php
@@ -0,0 +1,41 @@
+<?php
+use Digitigrade\Model\FollowRelation;
+use Digitigrade\Model\UserAccount;
+
+$links = [];
+$user = UserAccount::findByCurrentSession();
+
+if ($user != null) {
+ $links = [[
+ 'href' => '/followrequests',
+ 'icon' => 'person-add-outline',
+ 'label' => __('navigation.followRequests'),
+ 'unreadCount' => FollowRelation::countWhere("object = ? AND status = 'pending'", [$user->actor->id])
+ ], [
+ 'href' => '/pages',
+ 'icon' => 'article-outline',
+ 'label' => __('note.page.list.pageTitle')
+ ], [
+ 'href' => '/preferences',
+ 'icon' => 'tune',
+ 'label' => __('preferences.pageTitle')
+ ]];
+ if ($user->isAdmin) {
+ $links[] = ['href' => '/admin/settings/instance', 'icon' => 'settings-outline', 'label' => __('navigation.instanceSettings')];
+ }
+}
+$links[] = [
+ 'href' => '/about',
+ 'icon' => 'info-outline',
+ 'label' => __('about.pageTitle')
+];
+if ($user != null) {
+ $links[] = [
+ 'href' => '/logout',
+ 'icon' => 'logout',
+ 'label' => __('navigation.logout'),
+ 'confirmation' => __('navigation.logout.confirmation')
+ ];
+}
+
+call_template('navigation/side_links', ['links' => $links]);
diff --git a/templates/navigation/side_links.php b/templates/navigation/side_links.php
new file mode 100644
index 0000000..94bff5e
--- /dev/null
+++ b/templates/navigation/side_links.php
@@ -0,0 +1,13 @@
+<ul class="sideNavigation">
+ <?php foreach ($links as $entry): ?>
+ <li>
+ <a href="<?= $entry['href'] ?>" <?= ($entry['confirmation'] ?? null) ? ('hx-confirm="' . $entry['confirmation'] . '"') : '' ?>>
+ <div class="material-symbols <?= $entry['icon'] ?>"></div>
+ <div><?= $entry['label'] ?></div>
+ <?php if (isset($entry['unreadCount']) && $entry['unreadCount'] > 0) {
+ call_template('unread_indicator', ['count' => $entry['unreadCount']]);
+ } ?>
+ </a>
+ </li>
+ <?php endforeach; ?>
+</ul> \ No newline at end of file