summaryrefslogtreecommitdiff
path: root/src/web/_views
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
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')
-rw-r--r--src/web/_views/apps/home/main.php2
-rw-r--r--src/web/_views/apps/people/card.php26
-rw-r--r--src/web/_views/apps/people/footer.php3
-rw-r--r--src/web/_views/apps/people/header.php6
-rw-r--r--src/web/_views/apps/people/main.php121
-rw-r--r--src/web/_views/apps/profile/main.php173
-rw-r--r--src/web/_views/header.php16
-rw-r--r--src/web/_views/modal/new_post.php2
-rw-r--r--src/web/_views/template/comment.php2
-rw-r--r--src/web/_views/template/pfp.php17
-rw-r--r--src/web/_views/template/post.php5
-rw-r--r--src/web/_views/template/posts.php2
12 files changed, 236 insertions, 139 deletions
diff --git a/src/web/_views/apps/home/main.php b/src/web/_views/apps/home/main.php
index 29bf7c3..735e3d8 100644
--- a/src/web/_views/apps/home/main.php
+++ b/src/web/_views/apps/home/main.php
@@ -4,7 +4,7 @@
<?php if ($self): ?>
<div id="new-post" class="card">
<div class="row grow">
- <?php $this->view('template/pfp', array('user' => $self))?>
+ <?=pfp($self)?>
<a
id="action-new-post"
class="btn btn-alt btn-wide ml"
diff --git a/src/web/_views/apps/people/card.php b/src/web/_views/apps/people/card.php
index a44b0d4..eda49b5 100644
--- a/src/web/_views/apps/people/card.php
+++ b/src/web/_views/apps/people/card.php
@@ -4,32 +4,12 @@
class="card profile"
href="/profile?id=<?=$user['id']?>"
>
- <div class="row">
- <?php $this->view('template/pfp', array('user' => $user, 'link' => FALSE)); ?>
+ <div class="col">
+ <?=pfp($user, FALSE)?>
<div class="col ml">
<strong class=""><?=$this->format_model->name($user)?></strong>
- <span class="dim"><?=lang('joined') . ' ' . $this->format_model->date($user['created'])?></span>
- <span class="dim"><?=lang('seen') . ' ' . $this->format_model->date($user['seen'])?></span>
+ <span class="dim"><?=$user['username']?></span>
</div>
</div>
- <hr>
- <table>
- <tr>
- <td><?=lang('tbl_username')?></td>
- <td><?=$user['username']?></td>
- <tr>
- <tr>
- <td><?=lang('tbl_email')?></td>
- <td><?=$user['email']?></td>
- <tr>
- <tr>
- <td><?=lang('tbl_gender')?></td>
- <td><?=$user['gender']?></td>
- <tr>
- <tr>
- <td><?=lang('tbl_uid')?></td>
- <td><?=$user['id']?></td>
- <tr>
- </table>
</a>
<?
diff --git a/src/web/_views/apps/people/footer.php b/src/web/_views/apps/people/footer.php
new file mode 100644
index 0000000..ff93026
--- /dev/null
+++ b/src/web/_views/apps/people/footer.php
@@ -0,0 +1,3 @@
+<?php /* Copyright (c) 2024 Freya Murphy */ ?>
+<?php /* vi: syntax=php */ ?>
+</div>
diff --git a/src/web/_views/apps/people/header.php b/src/web/_views/apps/people/header.php
new file mode 100644
index 0000000..7f3d95b
--- /dev/null
+++ b/src/web/_views/apps/people/header.php
@@ -0,0 +1,6 @@
+<?php /* Copyright (c) 2024 Freya Murphy */ ?>
+<?php /* vi: syntax=php */ ?>
+<div id="main-content" class="col">
+ <h1 class="title"><?=lang('title')?></h1>
+ <h3 class="desc"><?=lang('desc')?></h3>
+ <hr>
diff --git a/src/web/_views/apps/people/main.php b/src/web/_views/apps/people/main.php
index 171f25c..deec4c2 100644
--- a/src/web/_views/apps/people/main.php
+++ b/src/web/_views/apps/people/main.php
@@ -1,67 +1,72 @@
<?php /* Copyright (c) 2024 Freya Murphy */ ?>
<?php /* vi: syntax=php */ ?>
-<div id="main-content" class="col">
- <h1 class="title"><?=lang('title')?></h1>
- <h3 class="desc"><?=lang('desc')?></h3>
- <hr>
- <div id="people-container" class="col">
- <?php
- $pdata = $this->people();
- ?>
- </div>
- <?php
- $loaded = count($pdata['users']);
- $page_size = $pdata['page_size'];
- $total = $pdata['count'];
- $max = $pdata['max_id'];
- ?>
- <?php if ($loaded >= $page_size && $page_size < $total): ?>
- <?=ilang('action_load_users',
- id: 'action-load-users',
- class: 'btn btn-line btn-wide mb',
- attrs: array(
- 'loaded' => $loaded,
- 'pageSize' => $page_size,
- 'userCount' => $total,
- 'userMax' => $max
- )
- )?>
- <script>
+<div id="people-container" class="col">
+<?php
+ $pdata = $this->people();
+?>
+</div>
+<?php
+ $loaded = count($pdata['users']);
+ $page_size = $pdata['page_size'];
+ $total = $pdata['count'];
+ $max = $pdata['max_id'];
+ $filter_uid = $pdata['filter_uid'];
+ $filer_type = $pdata['filter_type'];
+?>
+<?php if ($loaded >= $page_size && $page_size < $total): ?>
+ <?=ilang('action_load_users',
+ id: 'action-load-users',
+ class: 'btn btn-line btn-wide mb',
+ attrs: array(
+ 'loaded' => $loaded,
+ 'pageSize' => $page_size,
+ 'userCount' => $total,
+ 'userMax' => $max,
+ 'filterUid' => $filter_uid,
+ 'filterType' => $filer_type
+ )
+ )?>
+ <script>
- var urlParams = new URLSearchParams(window.location.search).toString();
+ $('#action-load-users').on('click', function() {
+ let me = $(this);
+ let page = me.attr('page');
+ if (!page) {
+ page = '1';
+ }
+ let newPage = Number(page) + 1;
+ me.attr('page', newPage + '');
- $('#action-load-users').on('click', function() {
- let me = $(this);
- let page = me.attr('page');
- if (!page) {
- page = '1';
- }
- let newPage = Number(page) + 1;
- me.attr('page', newPage + '');
+ let loaded = Number(me.attr('loaded'));
+ let pageSize = Number(me.attr('pageSize'));
+ let userCount = Number(me.attr('userCount'));
+ let userMax = Number(me.attr('userMax'));
- let loaded = Number(me.attr('loaded'));
- let pageSize = Number(me.attr('pageSize'));
- let userCount = Number(me.attr('userCount'));
- let userMax = Number(me.attr('userMax'));
+ let filterType = me.attr('filterType');
+ let filterUid = me.attr('filterUid');
- let url = '/people/people?page=' + page + '&max=' + userMax + '&' + urlParams;
- $.get(url, function (data) {
- if (data === '') {
- me.remove();
- return;
- }
+ let url = '/people/people?page=' + page + '&max=' + userMax;
- let container = $('#people-container');
- container.append(data);
+ if (filterType && filterUid) {
+ url += '&filter=' + filterType + '&uid=' + filterUid;
+ }
+
+ $.get(url, function (data) {
+ if (data === '') {
+ me.remove();
+ return;
+ }
- loaded += pageSize;
- if (loaded >= userCount) {
- me.remove();
- } else {
- me.attr('loaded', loaded + '');
- }
- });
+ let container = $('#people-container');
+ container.append(data);
+
+ loaded += pageSize;
+ if (loaded >= userCount) {
+ me.remove();
+ } else {
+ me.attr('loaded', loaded + '');
+ }
});
- </script>
- <?php endif ?>
-</div>
+ });
+ </script>
+<?php endif ?>
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>
diff --git a/src/web/_views/header.php b/src/web/_views/header.php
index 8a0333e..f1aef01 100644
--- a/src/web/_views/header.php
+++ b/src/web/_views/header.php
@@ -11,7 +11,7 @@
<div class="nav-center" :class="{hidden: !visible}">
<a
id="action-home"
- class="btn"
+ class="btn<?=$this->main->info['app'] == 'home' ? ' btn-blue btn-border' : ''?>"
href="/home"
title="<?=lang('action_home_tip')?>"
>
@@ -20,35 +20,33 @@
</a>
<a
id="action-people"
- class="btn"
+ class="btn<?=$this->main->info['app'] == 'people' ? ' btn-blue btn-border' : ''?>"
href="/people"
title="<?=lang('action_people_tip')?>"
>
<i class="mi mi-lg">people</i>
<span><?=lang('action_people_text')?></span>
</a>
- <a
+ <!--a
id="action-chat"
- class="btn"
+ class="btn<?=$this->main->info['app'] == 'chat' ? ' btn-blue btn-border' : ''?>"
href="/chat"
title="<?=lang('action_chat_tip')?>"
>
<i class="mi mi-lg">chat</i>
<span><?=lang('action_chat_text')?></span>
- </a>
+ </a-->
</div>
<div class="nav-right">
<button
id="action-hamburger"
title="<?=lang('action_hamburger_tip')?>"
+ class="btn mr"
>
<i class="mi mi-lg">menu</i>
</button>
<?php if($self): ?>
- <?php $this->view('template/pfp', array(
- 'user' => $self,
- 'class' => 'pfp-sm ml',
- )); ?>
+ <?=pfp($self)?>
<?php else: ?>
<?=ilang('action_login', class: 'btn', href: '/auth/login')?>
<?php endif; ?>
diff --git a/src/web/_views/modal/new_post.php b/src/web/_views/modal/new_post.php
index 50b9b84..15163c9 100644
--- a/src/web/_views/modal/new_post.php
+++ b/src/web/_views/modal/new_post.php
@@ -6,7 +6,7 @@
<form id="new-post-form">
<div class="modal-content new-post-modal">
<div class="row">
- <?php $this->view('template/pfp', array('user' => $user))?>
+ <?=pfp($user)?>
<div class="col ml">
<strong><?=$user['first_name'] . ' ' . $user['last_name']?></strong>
<span class="dim"><?=lang('now')?></span>
diff --git a/src/web/_views/template/comment.php b/src/web/_views/template/comment.php
index 3ff473b..cf2c0b4 100644
--- a/src/web/_views/template/comment.php
+++ b/src/web/_views/template/comment.php
@@ -4,7 +4,7 @@
$format_model = $this->load->model('format');
?>
<div class="comment row mt">
- <?php $this->view('template/pfp', array('user' => $user))?>
+ <?=pfp($user)?>
<div class="ml col sub-card">
<div class="row">
<strong><?=$format_model->name($user)?></strong>
diff --git a/src/web/_views/template/pfp.php b/src/web/_views/template/pfp.php
deleted file mode 100644
index ebb4b5f..0000000
--- a/src/web/_views/template/pfp.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php /* Copyright (c) 2024 Freya Murphy */ ?>
-<?php /* vi: syntax=php */ ?>
-<?php
- $class = isset($class) ? $class : '';
- $link = isset($link) ? $link : TRUE;
-?>
-<?php if($link): ?>
-<a class="image-loading pfp <?=$class?>" href="/profile?id=<?=$user['id']?>">
-<?php else: ?>
-<div class="image-loading pfp <?=$class?>">
-<?php endif; ?>
- <img src="/api/rpc/profile_avatar?user_id=<?=$user['id']?>"/>
-<?php if ($link): ?>
-</a>
-<?php else: ?>
-</div>
-<?php endif; ?>
diff --git a/src/web/_views/template/post.php b/src/web/_views/template/post.php
index 0633985..fb8cef5 100644
--- a/src/web/_views/template/post.php
+++ b/src/web/_views/template/post.php
@@ -2,7 +2,7 @@
<?php /* vi: syntax=php */ ?>
<div class="post card">
<div class="row">
- <?php $this->view('template/pfp', array('user' => $user))?>
+ <?=pfp($user)?>
<div class="col ml">
<strong><?=$user['first_name'] . ' ' . $user['last_name']?></strong>
<span class="dim"><?=$post['created']?></span>
@@ -21,6 +21,7 @@
$post_attrs['likeId'] = $post['like_id'];
}
?>
+ <span class="likes dim"><span class="count"><?=$post['like_count']?></span><?=' ' . lang('likes')?></span>
<?php if ($self): ?>
<hr>
<div class="row">
@@ -61,7 +62,7 @@
</div>
<?php if ($self): ?>
<div class="row pb">
- <?php $this->view('template/pfp', array('user' => $self))?>
+ <?=pfp($self)?>
<form class="ml action-new-comment-form row">
<input
type="hidden"
diff --git a/src/web/_views/template/posts.php b/src/web/_views/template/posts.php
index 5fec698..137c0dd 100644
--- a/src/web/_views/template/posts.php
+++ b/src/web/_views/template/posts.php
@@ -17,7 +17,7 @@
'pageSize' => $page_size,
'postCount' => $total,
'postMax' => $max,
- 'userId' => $filterUid
+ 'userId' => $filterUid ? json_encode($filterUid) : ''
)
);
}