diff options
author | Freya Murphy <freya@freyacat.org> | 2024-04-05 10:46:09 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-04-05 10:46:09 -0400 |
commit | 530bbf058781e00e588f1457b6ee589a64b74da1 (patch) | |
tree | c6cdd382a86d55538686293e51a1fc056cb59029 /src/web/_views | |
parent | remove var (diff) | |
download | xssbook2-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.php | 2 | ||||
-rw-r--r-- | src/web/_views/apps/people/card.php | 26 | ||||
-rw-r--r-- | src/web/_views/apps/people/footer.php | 3 | ||||
-rw-r--r-- | src/web/_views/apps/people/header.php | 6 | ||||
-rw-r--r-- | src/web/_views/apps/people/main.php | 121 | ||||
-rw-r--r-- | src/web/_views/apps/profile/main.php | 173 | ||||
-rw-r--r-- | src/web/_views/header.php | 16 | ||||
-rw-r--r-- | src/web/_views/modal/new_post.php | 2 | ||||
-rw-r--r-- | src/web/_views/template/comment.php | 2 | ||||
-rw-r--r-- | src/web/_views/template/pfp.php | 17 | ||||
-rw-r--r-- | src/web/_views/template/post.php | 5 | ||||
-rw-r--r-- | src/web/_views/template/posts.php | 2 |
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) : '' ) ); } |