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 > · < / 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 >
< small class = "mt-1 block font-bold text-gray-500" > Followers< / small >
< / li >
< li >
< div class = "text-lg font-bold mb-0" > {{ u.coins }}< / div >
< small class = "mt-1 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 = "mt-1 block font-bold text-gray-500" > MarseyBux< / small >
< / 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 >
< div class = "relative col-span-full flex xl:hidden flex-col" >
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 %}