summaryrefslogtreecommitdiff
path: root/src/web/_views/apps/profile/main.php
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-04-05 10:46:09 -0400
committerFreya Murphy <freya@freyacat.org>2024-04-05 10:46:09 -0400
commit530bbf058781e00e588f1457b6ee589a64b74da1 (patch)
treec6cdd382a86d55538686293e51a1fc056cb59029 /src/web/_views/apps/profile/main.php
parentremove var (diff)
downloadxssbook2-530bbf058781e00e588f1457b6ee589a64b74da1.tar.gz
xssbook2-530bbf058781e00e588f1457b6ee589a64b74da1.tar.bz2
xssbook2-530bbf058781e00e588f1457b6ee589a64b74da1.zip
i did thing oh god large commit
Diffstat (limited to 'src/web/_views/apps/profile/main.php')
-rw-r--r--src/web/_views/apps/profile/main.php173
1 files changed, 147 insertions, 26 deletions
diff --git a/src/web/_views/apps/profile/main.php b/src/web/_views/apps/profile/main.php
index afa45bc..e3d65b5 100644
--- a/src/web/_views/apps/profile/main.php
+++ b/src/web/_views/apps/profile/main.php
@@ -1,37 +1,158 @@
+<?php /* Copyright (c) 2024 Freya Murphy */ ?>
+<?php /* vi: syntax=php */ ?>
<div id="main-content">
- <div id="profile-header" class="col">
- <div class="banner image-loading">
- <img src="/api/rpc/profile_banner?user_id=<?=$user['id']?>">
- </div>
- <div class="info row">
- <div class="pfp-wrapper">
- <?php $this->view('template/pfp', array('user' => $user)); ?>
- </div>
- <div class="col content">
- <strong class="name"><?=$this->format_model->name($user)?></strong>
- <span class="dim"><?=lang('joined') . $this->format_model->date($user['created'])?></span>
+ <div id="profile-header-container">
+ <div id="profile-header" class="col">
+ <?=image('/api/rpc/profile_banner?user_id=' . $user['id'], 'banner')?>
+ <div class="info row">
+ <div class="pfp-wrapper">
+ <?=pfp($user)?>
+ </div>
+ <div class="col content">
+ <strong class="name"><?=$this->format_model->name($user)?></strong>
+ <span class="dim"><?=$user['follower_count'] . ' ' . lang('followers')?></span>
+ <?php if(strlen($user['profile_bio']) > 0): ?>
+ <br>
+ <strong><?=lang('bio')?></strong>
+ <span class="dim"><?=$user['profile_bio']?></span>
+ <?php endif; ?>
+ </div>
</div>
+ <hr>
+ <div class="row options">
+ <?=ilang('action_posts',
+ sub: [$user['first_name']],
+ class: 'btn btn-blue btn-border',
+ id: 'action-posts'
+ )?>
+ <?=ilang('action_about',
+ sub: [$user['first_name']],
+ class: 'btn',
+ id: 'action-about'
+ )?>
+ <?=ilang('action_followers',
+ sub: [$user['first_name']],
+ class: 'btn',
+ id: 'action-followers'
+ )?>
+ <?=ilang('action_following',
+ sub: [$user['first_name']],
+ class: 'btn',
+ id: 'action-following'
+ )?>
</div>
- <hr>
- <div class="row options">
- <?=ilang('action_posts',
- sub: [$user['first_name']],
- class: 'btn'
- )?>
- <?=ilang('action_about',
- sub: [$user['first_name']],
- class: 'btn'
- )?>
- <?=ilang('action_friends',
- sub: [$user['first_name']],
- class: 'btn'
- )?>
</div>
</div>
- <div id="#tab-posts">
+ <div id="tab-posts" class="tab">
<?php
$_GET['user_id'] = $user['id'];
$this->post_controller->index();
?>
</div>
+ <div id="tab-about" class="tab">
+ <h1><?=lang('about_general')?></h1>
+ <table>
+ <tr>
+ <td><strong><?=lang('about_general_username')?></strong></td>
+ <td><?=$user['username']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_general_full_name')?></strong></td>
+ <td><?=$user['first_name'] . ' ' . $user['last_name']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_general_email')?></strong></td>
+ <td><?=$user['email']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_general_gender')?></strong></td>
+ <td><?=$user['gender']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_general_birth_date')?></strong></td>
+ <td><?=$user['birth_date']?></td>
+ </tr>
+ </table>
+ <h1><?=lang('about_stats')?></h1>
+ <table>
+ <tr>
+ <td><strong><?=lang('about_stats_posts')?></strong></td>
+ <td><?=$user['post_count']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_stats_like')?></strong></td>
+ <td><?=$user['like_count']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_stats_comments')?></strong></td>
+ <td><?=$user['comment_count']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_stats_following')?></strong></td>
+ <td><?=$user['followed_count']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_stats_joined')?></strong></td>
+ <td><?=$user['created']?></td>
+ </tr>
+ <tr>
+ <td><strong><?=lang('about_stats_seen')?></strong></td>
+ <td><?=$user['seen']?></td>
+ </tr>
+ </table>
+ </div>
+ <div id="tab-followers" class="tab">
+ <?php
+ $_GET['filter'] = 'follower';
+ $_GET['uid'] = $user['id'];
+ $this->people_controller->content();
+ ?>
+ </div>
+ <div id="tab-following" class="tab">
+ <?php
+ $_GET['filter'] = 'followee';
+ $_GET['uid'] = $user['id'];
+ $this->people_controller->content();
+ ?>
+ </div>
+ </div>
+ <script>
+ let tabs = {};
+
+ const disableTab = (tab) => {
+ tab.btn.removeClass('btn-blue');
+ tab.btn.removeClass('btn-border');
+ tab.tab.css('display', 'none');
+ };
+
+ const enableTab = (tab) => {
+ tab.btn.addClass('btn-blue');
+ tab.btn.addClass('btn-border');
+ tab.tab.css('display', '');
+ };
+
+ const loadTab = (name, disable = true) => {
+ let btn = $('#action-' + name);
+ btn.on('click', function() {
+ for (let tab of Object.values(tabs)) {
+ disableTab(tab);
+ }
+ enableTab(tabs[name]);
+ });
+
+ tabs[name] = {
+ 'btn': btn,
+ 'tab': $('#tab-' + name)
+ };
+
+ if (disable) {
+ disableTab(tabs[name]);
+ }
+ };
+
+ loadTab('posts', false);
+ loadTab('about');
+ loadTab('followers');
+ loadTab('following');
+ </script>
</div>