diff options
Diffstat (limited to '')
-rw-r--r-- | src/web/_views/apps/people/card.php | 35 | ||||
-rw-r--r-- | src/web/_views/apps/people/main.php | 67 | ||||
-rw-r--r-- | src/web/_views/apps/people/people.php | 7 |
3 files changed, 109 insertions, 0 deletions
diff --git a/src/web/_views/apps/people/card.php b/src/web/_views/apps/people/card.php new file mode 100644 index 0000000..a44b0d4 --- /dev/null +++ b/src/web/_views/apps/people/card.php @@ -0,0 +1,35 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +<a + class="card profile" + href="/profile?id=<?=$user['id']?>" +> + <div class="row"> + <?php $this->view('template/pfp', array('user' => $user, 'link' => 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> + </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/main.php b/src/web/_views/apps/people/main.php new file mode 100644 index 0000000..3b45333 --- /dev/null +++ b/src/web/_views/apps/people/main.php @@ -0,0 +1,67 @@ +<?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 mt mb', + attrs: array( + 'loaded' => $loaded, + 'pageSize' => $page_size, + 'userCount' => $total, + 'userMax' => $max + ) + )?> + <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 + ''); + + 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 url = '/people/people?page=' + page + '&max=' + userMax + '&' + urlParams; + $.get(url, function (data) { + if (data === '') { + me.remove(); + return; + } + + let container = $('#people-container'); + container.append(data); + + loaded += pageSize; + if (loaded >= userCount) { + me.remove(); + } else { + me.attr('loaded', loaded + ''); + } + }); + }); + </script> + <?php endif ?> +</div> diff --git a/src/web/_views/apps/people/people.php b/src/web/_views/apps/people/people.php new file mode 100644 index 0000000..5fc0d17 --- /dev/null +++ b/src/web/_views/apps/people/people.php @@ -0,0 +1,7 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +<?php + foreach($users as $user) { + $this->view('apps/people/card', array('user' => $user)); + } +?> |