diff options
author | Freya Murphy <freya@freyacat.org> | 2024-12-23 11:13:27 -0500 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-12-23 11:13:27 -0500 |
commit | 5a2ba9c2e7605bb788bc406184547d22c6436867 (patch) | |
tree | cbd988d534e8a8593a31d70571222443f80da0b3 /src/web/_views/apps/profile/main.php | |
parent | fix about modal (diff) | |
download | xssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.tar.gz xssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.tar.bz2 xssbook2-5a2ba9c2e7605bb788bc406184547d22c6436867.zip |
v2.1.0, refactor w/ crimson
Diffstat (limited to 'src/web/_views/apps/profile/main.php')
-rw-r--r-- | src/web/_views/apps/profile/main.php | 269 |
1 files changed, 0 insertions, 269 deletions
diff --git a/src/web/_views/apps/profile/main.php b/src/web/_views/apps/profile/main.php deleted file mode 100644 index b2ad496..0000000 --- a/src/web/_views/apps/profile/main.php +++ /dev/null @@ -1,269 +0,0 @@ -<?php /* Copyright (c) 2024 Freya Murphy */ ?> -<?php /* vi: syntax=php */ ?> -<main id="main"> - <div id="profile-header-container"> - <div id="profile-header" class="col"> - <?=image('/api/rpc/profile_banner?user_id=' . $user['id'], 'banner', mime: $user['banner_mime'])?> - <div class="info row"> - <div class="pfp-wrapper"> - <?=pfp($user)?> - </div> - <div class="col content grow"> - <div class="row grow"> - <div class="col mb"> - <strong class="name"><?=$this->format_model->name($user)?></strong> - <span class="subtext"><?=$user['follower_count'] . ' ' . ucfirst(lang('followers'))?></span> - </div> - <?php if ( - $this->main->session && - (!isset($self) || $self['id'] != $user['id']) - ): ?> - <div class="follow"> - <?=ilang( - 'action_follow', - id: 'action-follow-follow', - class: 'btn btn-alt', - style: (!$following && !$followed) ? '' : 'display: none', - sub: [$user['first_name']] - )?> - <?=ilang( - 'action_follow_back', - id: 'action-follow-follow-back', - class: 'btn btn-alt', - style: (!$following && $followed) ? '' : 'display: none', - sub: [$user['first_name']] - )?> - <?=ilang( - 'action_following', - id: 'action-follow-following', - class: 'btn btn-alt btn-primary', - style: ($following && !$followed) ? '' : 'display: none', - sub: [$user['first_name']] - )?> - <?=ilang( - 'action_friends', - id: 'action-follow-friends', - class: 'btn btn-alt btn-primary', - style: ($following && $followed) ? '' : 'display: none', - sub: [$user['first_name']] - )?> - </div> - <script> - let following = <?=json_encode($following)?>; - let followed = <?=json_encode($followed)?>; - let followId = <?=json_encode($follow_id)?>; - let followee_id = <?=json_encode($user['id'])?>; - let btns = {}; - - const disableBtn = (btn) => { - btn.css('display', 'none'); - }; - - const enableBtn = (btn) => { - btn.css('display', ''); - }; - - const updateFollow = () => { - for (let btn of Object.values(btns)) { - disableBtn(btn); - } - if (!following && !followed) { - enableBtn(btns['follow']); - } else if (!following && followed) { - enableBtn(btns['follow-back']); - } else if (following && !followed) { - enableBtn(btns['following']); - } else if (following && followed) { - enableBtn(btns['friends']); - } - } - - const onPatchFollow = (data) => { - following = data[0].value; - updateFollow(); - } - - const onPostFollow = (data) => { - followId = data[0].id; - following = true; - updateFollow(); - } - - const onClickFollow = () => { - if (followId) { - $.ajax({ - url: '/api/follow?id=eq.' + followId, - method: 'PATCH', - data: JSON.stringify({ followee_id, value: !following }), - success: onPatchFollow - }); - } else { - $.ajax({ - url: '/api/follow', - method: 'POST', - data: JSON.stringify({ followee_id, value: !following }), - success: onPostFollow, - }); - } - } - - const loadBtn = (name) => { - let btn = $('#action-follow-' + name); - btn.on('click', onClickFollow); - - btns[name] = btn; - }; - - loadBtn('follow'); - loadBtn('follow-back'); - loadBtn('following'); - loadBtn('friends'); - </script> - <?php endif; ?> - </div> - <?php if(strlen($user['profile_bio']) > 0): ?> - <br> - <strong><?=ucfirst(lang('bio'))?></strong> - <span class="subtext"><?=$user['profile_bio']?></span> - <?php endif; ?> - </div> - </div> - <hr> - <div class="row options"> - <?=ilang('action_posts', - sub: [$user['first_name']], - class: 'btn btn-primary 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> - </div> - </div> - <div id="tab-container" class="mt"> - <div id="tab-posts" class="tab"> - <?php - $_GET['user_id'] = $user['id']; - $this->post_controller->index(); - ?> - </div> - <div id="tab-about" class="tab card"> - <h1><?=ucfirst(lang('about_general'))?></h1> - <table> - <tr> - <td><strong><?=ucfirst(lang('about_general_username'))?></strong></td> - <td><?=$user['username']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_general_full_name'))?></strong></td> - <td><?=$user['first_name'] . ' ' . $user['last_name']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_general_email'))?></strong></td> - <td><?=$user['email']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_general_gender'))?></strong></td> - <td><?=$user['gender']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_general_birth_date'))?></strong></td> - <td><?=$this->main->date($user['birth_date'])?></td> - </tr> - </table> - <h1><?=ucfirst(lang('about_stats'))?></h1> - <table> - <tr> - <td><strong><?=ucfirst(lang('about_stats_posts'))?></strong></td> - <td><?=$user['post_count']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_stats_like'))?></strong></td> - <td><?=$user['like_count']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_stats_comments'))?></strong></td> - <td><?=$user['comment_count']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_stats_following'))?></strong></td> - <td><?=$user['followed_count']?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_stats_joined'))?></strong></td> - <td><?=$this->main->date($user['created'])?></td> - </tr> - <tr> - <td><strong><?=ucfirst(lang('about_stats_seen'))?></strong></td> - <td><?=$this->main->date($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-primary'); - tab.btn.removeClass('btn-border'); - tab.tab.css('display', 'none'); - }; - - const enableTab = (tab) => { - tab.btn.addClass('btn-primary'); - 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> -</main> |