diff options
Diffstat (limited to 'src/web/_views/people')
-rw-r--r-- | src/web/_views/people/card.php | 15 | ||||
-rw-r--r-- | src/web/_views/people/footer.php | 3 | ||||
-rw-r--r-- | src/web/_views/people/header.php | 6 | ||||
-rw-r--r-- | src/web/_views/people/main.php | 76 | ||||
-rw-r--r-- | src/web/_views/people/people.php | 5 |
5 files changed, 105 insertions, 0 deletions
diff --git a/src/web/_views/people/card.php b/src/web/_views/people/card.php new file mode 100644 index 0000000..7e040ba --- /dev/null +++ b/src/web/_views/people/card.php @@ -0,0 +1,15 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +<a + class="card profile" + href="/profile?id=<?=$user['id']?>" +> + <div class="col"> + <?=pfp($user, FALSE)?> + <div class="col ml"> + <span class="name"><?=$this->format_name($user)?></span> + <span class="subtext"><?=$user['username']?></span> + </div> + </div> +</a> +<? diff --git a/src/web/_views/people/footer.php b/src/web/_views/people/footer.php new file mode 100644 index 0000000..f18e031 --- /dev/null +++ b/src/web/_views/people/footer.php @@ -0,0 +1,3 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +</main> diff --git a/src/web/_views/people/header.php b/src/web/_views/people/header.php new file mode 100644 index 0000000..b1099ec --- /dev/null +++ b/src/web/_views/people/header.php @@ -0,0 +1,6 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +<main id="main"> + <h1 class="title"><?=ucfirst(lang('title'))?></h1> + <h3 class="desc"><?=ucfirst(lang('desc'))?></h3> + <hr> diff --git a/src/web/_views/people/main.php b/src/web/_views/people/main.php new file mode 100644 index 0000000..c602b2c --- /dev/null +++ b/src/web/_views/people/main.php @@ -0,0 +1,76 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<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 == 0): ?> + <div id="no-people" class="card"> + <?=lang('no_people_found')?> + </div> +<?php endif; ?> +<?php if ($loaded >= $page_size && $page_size < $total): ?> + <?=ilang('action_load_users', + id: 'action-load-users', + class: 'btn btn-blend grow mb', + attrs: array( + 'loaded' => $loaded, + 'pageSize' => $page_size, + 'userCount' => $total, + 'userMax' => $max, + 'filterUid' => $filter_uid, + 'filterType' => $filer_type + ) + )?> + <script> + + $('#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 filterType = me.attr('filterType'); + let filterUid = me.attr('filterUid'); + + let url = '/people/people?page=' + page + '&max=' + userMax; + + if (filterType && filterUid) { + url += '&filter=' + filterType + '&uid=' + filterUid; + } + + $.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 ?> diff --git a/src/web/_views/people/people.php b/src/web/_views/people/people.php new file mode 100644 index 0000000..8726f1d --- /dev/null +++ b/src/web/_views/people/people.php @@ -0,0 +1,5 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ +foreach($users as $user) { + $this->view('people/card', array('user' => $user)); +} +?> |