forked from rDrama/rDrama
1
0
Fork 0
rDrama/files/templates/userpage.html

305 lines
12 KiB
HTML
Raw Normal View History

2021-10-15 14:08:27 +00:00
{% extends "default.html" %}
2021-12-08 03:29:08 +00:00
{% block pagetype %}userpage{% endblock %}
2021-10-15 14:08:27 +00:00
{% block title %}
2021-12-04 16:12:56 +00:00
<!-- {% if u and u.profilecss and (u.admin_level or not (v and v.admin_level)) %}
<link rel="stylesheet" href="/@{{u.username}}/profilecss">
{% endif %} -->
2021-10-15 14:08:27 +00:00
<title>{{u.username}}'s profile - {{'SITE_NAME' | app_config}}</title>
{% if u.is_private %}
<meta name="robots" content="noindex">
{% endif %}
2021-10-26 21:11:14 +00:00
<meta property="og:article:author" content="@{{u.username}}" >
<meta property="article:section" content="{{u.username}}'s profile - {{'SITE_NAME' | app_config}}" >
<meta property="article:published_time" content="{{u.created_date}}" >
<meta property="og:description" name="description" content="{{u.coins}} {{'COINS_NAME' | app_config}} - Joined {{u.created_date}} - {% if u.stored_subscriber_count >=1 and not u.is_private and not u.is_nofollow %}{{u.stored_subscriber_count}} Followers - {% endif %}{% if not u.is_private %}{{u.post_count}} Posts - {{u.comment_count}} Comments - {% endif %}{{u.bio}}" >
<meta property="og:author" name="author" content="@{{u.username}}" >
<meta property="og:title" content="{{u.username}}" >
<meta property="og:image" content="{{u.banner_url}}" >
<meta property="og:url" content="{{u.url | full_link}}" >
<meta property="og:site_name" content="{{request.host}}" >
<meta name="twitter:card" content="summary_large_image">
2021-10-15 14:08:27 +00:00
<meta name="twitter:site" content="{{request.host_url}}">
2021-10-26 21:11:14 +00:00
<meta name="twitter:title" content="{{u.username}}'s profile - {{'SITE_NAME' | app_config}}" >
2021-10-15 14:08:27 +00:00
<meta name="twitter:creator" content="@{{u.username}}">
2021-10-26 21:11:14 +00:00
<meta name="twitter:description" content="{{u.coins}} {{'COINS_NAME' | app_config}} - Joined {{u.created_date}} - {% if u.stored_subscriber_count >=1 and not u.is_private and not u.is_nofollow %}{{u.stored_subscriber_count}} Followers -{% endif %} {% if not u.is_private %} {{u.post_count}} Posts - {{u.comment_count}} Comments -{% endif %} {{u.bio}}" >
<meta name="twitter:image" content="{{u.banner_url}}" >
<meta name="twitter:url" content="{{u.url | full_link}}" >
2021-10-15 14:08:27 +00:00
{% endblock %}
2021-12-08 01:21:57 +00:00
{% block subHeader %}
2021-12-08 03:10:42 +00:00
<img src="{{ u.banner_url}}" class="-mb-0.5 w-full h-72 lg:h-[28rem] object-cover"/>
2021-12-08 01:21:57 +00:00
<div class="relative max-w-screen-2xl mx-auto px-4 py-4 grid grid-cols-12 rounded-t">
2021-12-09 03:04:38 +00:00
{% if v and v.id == u.id %}
2021-12-08 03:13:33 +00:00
<a href="/settings/profile" class="absolute -top-12 right-3 btn btn-gray shadow">
2021-12-08 03:11:45 +00:00
<i class="fas fa-user-edit fa-fw fa-sm mr-2"></i>
Edit profile
</a>
2021-12-09 02:35:26 +00:00
{% endif %}
2021-12-08 01:21:57 +00:00
<div class="absolute top-0 left-0 w-full h-full bg-gradient-to-t from-gray-300 to-gray-200 rounded-t sub-header-shadow"></div>
2021-12-09 03:26:24 +00:00
<div class="relative col-span-full flex items-end">
2021-12-09 03:26:52 +00:00
<div class="flex items-center mr-auto">
2021-12-08 02:42:42 +00:00
<img class="h-14 w-14 bg-white p-[3px] border border-gray-400" src="{{ v.profile_url }}" alt="Your avatar"/>
2021-12-08 02:57:36 +00:00
<div class="pl-2">
2021-12-08 02:58:51 +00:00
<h1 class="font-bold text-2xl leading-normal mb-0" style="color: #{{u.namecolor}}">
2021-12-08 02:42:42 +00:00
<span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span>
</h1>
2021-12-09 03:11:07 +00:00
<div class="flex items-center space-x-2 text-sm text-gray-500">
2021-12-08 03:39:47 +00:00
<div>
2021-12-09 03:11:07 +00:00
rDramanaut since
2021-12-08 03:39:47 +00:00
<span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{u.created_datetime}}">
{{u.created_date}}
</span>
</div>
{% if u.username != u.original_username %}
<div>&#183;</div>
<div>
2021-12-09 03:11:07 +00:00
a.k.a.
2021-12-08 03:40:42 +00:00
<span data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Original username: @{{u.original_username}}">@{{u.original_username}}
2021-12-08 03:39:47 +00:00
</span>
</div>
{% endif %}
2021-12-08 03:36:37 +00:00
</div>
2021-12-08 02:19:48 +00:00
</div>
2021-12-08 01:21:57 +00:00
</div>
2021-12-09 03:26:06 +00:00
{% if u.id == v.id or not u.is_private %}
2021-12-09 03:27:09 +00:00
<ul class="hidden xl:flex items-center space-x-3 mb-0">
2021-12-09 03:26:06 +00:00
<li>
<div class="text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</div>
2021-12-09 03:27:30 +00:00
<small class="block font-bold text-gray-500">Followers</small>
2021-12-09 03:26:06 +00:00
</li>
<li>
<div class="text-lg font-bold mb-0">{{ u.coins }}</div>
2021-12-09 03:27:30 +00:00
<small class="block font-bold text-gray-500">Dramacoin</small>
2021-12-09 03:26:06 +00:00
</li>
{% if u.procoins %}
<li>
<div class="text-lg font-bold mb-0">{{ u.procoins }}</div>
2021-12-09 03:27:30 +00:00
<small class="block font-bold text-gray-500">MarseyBux</small>
2021-12-09 03:26:06 +00:00
</li>
{% endif %}
</ul>
{% endif %}
2021-12-09 03:24:48 +00:00
{% if v and v.id != u.id %}
<ul class="ml-auto flex flex-wrap space-x-2 items-center mb-0">
<li>
<button class="btn btn-gray" onclick="toggleElement('profile-toggleable-mobile', 'message-mobile')">
<i class="fas fa-paper-plane fa-sm fa-fw md:mr-1"></i>
<span class="hidden md:inline-block">Message</span>
</button >
</li>
{% if u.id != 995 %}
<li id="button-unsub2" class="{% if not is_following %}hidden{% endif %}">
<button class="btn btn-gray" onclick="post_toast2('/unfollow/{{u.username}}','button-unsub2','button-sub2')">
<i class="fas fa-heart-broken fa-sm fa-fw mr-1"></i>
Unfollow
</button>
</li>
{% endif %}
<li id="button-sub2" class="{% if is_following or u.is_nofollow or u.is_blocked %}hidden{% endif %}">
<button class="btn btn-gray" onclick="post_toast2('/follow/{{u.username}}','button-unsub2','button-sub2')">
<i class="far fa-heart fa-sm fa-fw mr-1"></i>
Follow
</button>
</li>
<!-- <li> dropdown here </li> -->
</ul>
2021-12-09 03:22:27 +00:00
{% endif %}
</div>
2021-12-09 03:30:45 +00:00
<div class="relative col-span-full flex xl:hidden flex-col mt-3">
2021-12-09 03:28:24 +00:00
{% if u.id == v.id or not u.is_private %}
2021-12-09 03:30:45 +00:00
<ul class="flex items-center space-x-3">
2021-12-09 03:28:24 +00:00
<li>
<div class="text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</div>
<small class="block font-bold text-gray-500">Followers</small>
</li>
<li>
<div class="text-lg font-bold mb-0">{{ u.coins }}</div>
<small class="block font-bold text-gray-500">Dramacoin</small>
</li>
{% if u.procoins %}
<li>
<div class="text-lg font-bold mb-0">{{ u.procoins }}</div>
<small class="block font-bold text-gray-500">MarseyBux</small>
</li>
{% endif %}
</ul>
{% endif %}
2021-12-09 03:08:42 +00:00
{% if u.bio_html %}
<div class="mb-3">
<p class="text-black text-break">{{u.bio_html | safe}}</p>
2021-12-09 02:38:03 +00:00
</div>
2021-12-09 03:08:42 +00:00
{% endif %}
2021-12-09 03:07:34 +00:00
{% if u.badges %}
2021-12-09 02:38:03 +00:00
<ul class="flex flex-row flex-wrap gap-2">
2021-12-08 02:54:55 +00:00
{% for b in u.badges %}
2021-12-08 03:00:54 +00:00
<li>
2021-12-08 02:54:55 +00:00
{% if b.url %}
2021-12-08 03:19:06 +00:00
<a rel="nofollow noopener noreferrer" href="{{b.url}}">
2021-12-08 03:03:52 +00:00
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}">
2021-12-08 03:19:06 +00:00
</a>
{% else %}
<img class="flex-shrink-0 w-8 h-8 object-contain transform transition-100 hover:scale-[1.15]" loading="lazy" src="{{b.path}}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{b.name}} - {{b.text}}">
2021-12-08 02:54:55 +00:00
{% endif %}
2021-12-08 03:00:54 +00:00
</li>
2021-12-08 02:54:55 +00:00
{% endfor %}
2021-12-08 03:00:54 +00:00
</ul>
2021-12-09 03:07:34 +00:00
{% endif %}
2021-12-08 23:27:49 +00:00
<div>
{% if u.friends_html %}
2021-12-09 02:38:03 +00:00
<p class="label">Friends</p>
2021-12-08 23:27:49 +00:00
{{u.friends_html | safe}}
{% endif %}
{% if u.enemies_html %}
2021-12-09 02:38:03 +00:00
<p class="label">Enemies</p>
2021-12-08 23:27:49 +00:00
{{u.enemies_html | safe}}
{% endif %}
</div>
</div>
2021-12-08 01:21:57 +00:00
</div>
2021-12-08 03:23:30 +00:00
{% endblock %}
2021-12-08 04:14:33 +00:00
{% block subHeader2 %}
2021-12-08 04:17:51 +00:00
<div class="w-full md:px-4 sticky top-0 z-10">
2021-12-08 04:16:38 +00:00
<div class="px-4 py-2 flex space-x-3 divide-x divide-gray-400 text-xs bg-gray-100 md:border-b md:border-gray-300">
<ul class="flex items-center space-x-3 leading-normal mb-0">
<li>
<a class="{{ 'font-bold text-red-600' if not '/commnents/' or not '/saved/' in request.path else 'text-gray-700' }}" href="/@{{u.username}}">
Posts <span class="text-gray-500 font-normal">{{ u.post_count }}</span>
</a>
</li>
<li>
<a class="{{ 'font-bold text-red-600' if '/comments/' in request.path else 'text-gray-700' }}" href="/@{{u.username}}/comments">
Comments <span class="text-gray-500 font-normal">{{ u.comment_count }}</span>
</a>
</li>
<li>
<a class="{{ 'font-bold text-red-600' if '/saved/' in request.path else 'text-gray-700' }}" href="/@{{u.username}}/saved/posts">
Saved Posts
</a>
</li>
</ul>
2021-12-08 02:35:43 +00:00
</div>
</div>
2021-12-08 04:14:33 +00:00
{% endblock %}
2021-12-08 03:22:52 +00:00
2021-12-08 04:14:33 +00:00
{% block content %}
2021-12-08 04:23:14 +00:00
<div class="col-span-full xl:col-span-9">
2021-12-08 04:02:31 +00:00
<div class="sm:py-4 my-2.5 sm:my-0">
{% if not "saved" in request.full_path %}
2021-12-08 04:06:11 +00:00
<div class="flex justify-end md:justify-start mb-3 md:m-0 px-2.5 md:px-0">
{% include "/dropdowns/SubmissionSorts.html" %}
</div>
2021-12-08 04:04:44 +00:00
<hr class="hidden md:block my-4 shadow-inset-t-white-05 border-t border-gray-300"/>
2021-12-08 04:02:31 +00:00
{% endif %}
2021-12-08 04:12:48 +00:00
<ul>
2021-12-08 04:02:31 +00:00
{% include "submission_listing.html" %}
</ul>
2021-12-08 04:12:48 +00:00
<!-- Pagination -->
{% if listing %}
2021-12-08 04:22:17 +00:00
<div class="flex flex-wrap items-center">
2021-12-08 04:12:48 +00:00
{% if page>1 %}
2021-12-08 04:22:17 +00:00
<a class="block px-2 py-1 text-sm font-bold text-gray-700 hover:text-gray-900 bg-gray-300 hover:bg-gray-400 active:shadow-inner" href="?page={{page-1}}&sort={{sort}}&t={{t}}" tabindex="-1">
Prev
</a>
2021-12-08 04:12:48 +00:00
{% else %}
2021-12-08 04:22:17 +00:00
<span class="block px-2 py-1 text-sm font-bold text-gray-400 bg-gray-300/50 disabled">Prev</span>
2021-12-08 04:12:48 +00:00
{% endif %}
{% if next_exists %}
2021-12-08 04:22:17 +00:00
<a class="block px-2 py-1 text-sm font-bold text-gray-700 hover:text-gray-900 bg-gray-300 hover:bg-gray-400 active:shadow-inner" href="?page={{page+1}}&sort={{sort}}&t={{t}}">Next</a>
2021-12-08 04:12:48 +00:00
{% else %}
2021-12-08 04:22:17 +00:00
<span class="block px-2 py-1 text-sm font-bold text-gray-400 bg-gray-300/50 disabled">Next</span>
2021-12-08 04:12:48 +00:00
{% endif %}
2021-12-08 04:22:17 +00:00
</div>
2021-12-08 04:12:48 +00:00
{% endif %}
2021-12-08 04:02:31 +00:00
</div>
2021-10-15 14:08:27 +00:00
</div>
2021-12-08 04:11:32 +00:00
{% endblock %}
{% block sidebar %}
{% include "/sidebars/ProfileSidebar.html" %}
2021-12-04 16:12:56 +00:00
{% endblock %}
2021-11-30 17:32:52 +00:00
2021-12-04 16:12:56 +00:00
{% block modals %}
2021-11-30 17:32:52 +00:00
{% if v %}
2021-12-08 03:19:06 +00:00
{% include "emoji_modal.html" %}
{% include "gif_modal.html" %}
2021-11-30 17:32:52 +00:00
{% endif %}
2021-10-15 14:08:27 +00:00
{% endblock %}
2021-12-04 16:12:56 +00:00
{% block scripts %}
{% if v %}
2021-12-08 03:19:06 +00:00
<script>
const TRANSFER_TAX = {% if v.patron or u.patron %}0{% else %}0.03{% endif %};
2021-12-04 16:12:56 +00:00
2021-12-08 03:19:06 +00:00
function updateTax(mobile=false) {
let suf = mobile ? "-mobile" : "";
let amount = parseInt(document.getElementById("coins-transfer-amount" + suf).value);
if(isNaN(amount) || amount < 0) {
2021-12-04 16:12:56 +00:00
amount = 0;
}
2021-12-08 03:19:06 +00:00
document.getElementById("coins-transfer-taxed" + suf).innerText = amount - Math.ceil(amount*TRANSFER_TAX);
}
2021-12-04 16:12:56 +00:00
2021-12-08 03:19:06 +00:00
function transferCoins(mobile=false) {
let t = event.target;
t.disabled = true;
2021-12-04 16:12:56 +00:00
2021-12-08 03:19:06 +00:00
let amount = parseInt(document.getElementById("coins-transfer-amount").value);
let transferred = amount - Math.ceil(amount*TRANSFER_TAX);
2021-12-04 16:12:56 +00:00
2021-12-08 03:19:06 +00:00
post_toast_callback("/@{{u.username}}/transfer_coins",
{"amount": document.getElementById(mobile ? "coins-transfer-amount-mobile" : "coins-transfer-amount").value},
(xhr) => {
2021-12-04 16:12:56 +00:00
if(xhr.status == 200) {
document.getElementById("user-coins-amount").innerText = parseInt(document.getElementById("user-coins-amount").innerText) - amount;
document.getElementById("profile-coins-amount-mobile").innerText = parseInt(document.getElementById("profile-coins-amount-mobile").innerText) + transferred;
document.getElementById("profile-coins-amount").innerText = parseInt(document.getElementById("profile-coins-amount").innerText) + transferred;
}
2021-12-08 03:19:06 +00:00
}
2021-12-04 16:12:56 +00:00
);
2021-12-08 03:19:06 +00:00
setTimeout(_ => t.disabled = false, 2000);
}
</script>
2021-12-04 16:12:56 +00:00
{% endif %}
{% if u.song %}
2021-12-08 03:19:06 +00:00
<script>
window.addEventListener("load",function(event) {
var audio = new Audio('/songs/{{u.id}}');
audio.loop=true;
2021-12-08 03:20:10 +00:00
2021-12-08 03:19:06 +00:00
{% if not u.unmutable %}
function pause() {
audio.pause();
document.getElementById("pause1").classList.toggle("hidden");
document.getElementById("play1").classList.toggle("hidden");
document.getElementById("pause2").classList.toggle("hidden");
document.getElementById("play2").classList.toggle("hidden");
}
2021-12-04 16:12:56 +00:00
2021-12-08 03:19:06 +00:00
function play() {
2021-12-04 16:12:56 +00:00
audio.play();
2021-12-08 03:19:06 +00:00
document.getElementById("pause1").classList.toggle("hidden");
document.getElementById("play1").classList.toggle("hidden");
document.getElementById("pause2").classList.toggle("hidden");
document.getElementById("play2").classList.toggle("hidden");
}
{% endif %}
audio.play();
document.getElementById('userpage').addEventListener('click', () => {
if (audio.paused) audio.play();
}, {once : true});
});
</script>
2021-12-04 16:12:56 +00:00
{% endif %}
2021-12-04 16:21:03 +00:00
<script defer src="/assets/js/userpage.js?v=73"></script>
2021-11-30 17:32:52 +00:00
{% endblock %}