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-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-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 >
< div class = "relative col-span-full flex items-center" >
2021-12-08 03:41:08 +00:00
< div class = "flex items-center" >
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-08 03:38:24 +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-08 03:40:42 +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-08 03:40:42 +00:00
a.k.a.
< 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-08 02:42:42 +00:00
{% if v and v.username == u.username %}
2021-12-08 03:01:08 +00:00
< ul class = "ml-auto flex flex-row flex-wrap gap-2 mb-0" >
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-08 02:42:42 +00:00
{% endif %}
2021-12-08 01:21:57 +00:00
< / div >
< / div >
2021-12-08 03:23:30 +00:00
{% endblock %}
2021-12-08 03:23:54 +00:00
{% block content %}
2021-12-08 03:24:10 +00:00
< div class = "col-span-full md:-mx-4" >
2021-12-08 02:40:32 +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" >
2021-12-08 02:35:43 +00:00
< ul class = "flex items-center space-x-3 leading-normal mb-0" >
< li >
2021-12-08 02:53:09 +00:00
< a class = "{{ 'font-bold text-red-600' if not '/commnents/' or not '/saved/' in request.path else 'text-gray-700' }}" href = "/@{{u.username}}" >
2021-12-08 02:49:56 +00:00
Posts < span class = "text-gray-500 font-normal" > {{ u.post_count }}< / span >
2021-12-08 02:35:43 +00:00
< / a >
< / li >
< li >
2021-12-08 02:51:30 +00:00
< a class = "{{ 'font-bold text-red-600' if '/comments/' in request.path else 'text-gray-700' }}" href = "/@{{u.username}}/comments" >
2021-12-08 02:49:56 +00:00
Comments < span class = "text-gray-500 font-normal" > {{ u.comment_count }}< / span >
2021-12-08 02:35:43 +00:00
< / a >
< / li >
< li >
2021-12-08 02:51:30 +00:00
< a class = "{{ 'font-bold text-red-600' if '/saved/' in request.path else 'text-gray-700' }}" href = "/@{{u.username}}/saved/posts" >
2021-12-08 02:35:43 +00:00
Saved Posts
< / a >
< / li >
< / ul >
< / div >
< / div >
2021-12-08 03:22:52 +00:00
2021-12-08 03:48:38 +00:00
< div class = "col-span-full xl:col-span-9 -mt-2" >
2021-12-08 03:50:57 +00:00
< div class = "md:border md:border-gray-300 md:rounded-lg shadow-inset-t-white-10" >
2021-12-08 03:55:40 +00:00
< div class = "flex items-center p-2 border-b md:bg-gray-100 rounded-t-lg shadow-sm" >
2021-12-08 03:52:19 +00:00
< div class = "font-bold text-black" >
2021-12-08 03:54:23 +00:00
< i class = "fas fa-pencil fa-fw fa-sm text-gray-500" > < / i >
2021-12-08 03:52:19 +00:00
Posts
< / div >
2021-12-08 03:29:33 +00:00
{% if not "saved" in request.full_path %}
2021-12-08 03:50:57 +00:00
< div class = "ml-auto" > {% include "/dropdowns/SubmissionSorts.html" %}< / div >
2021-12-08 03:29:33 +00:00
{% endif %}
2021-12-08 03:50:57 +00:00
< / div >
< div class = "bg-gray-100/40 p-4" >
2021-12-08 03:47:33 +00:00
< ul class = "mb-0" >
{% include "submission_listing.html" %}
< / ul >
2021-10-15 14:08:27 +00:00
< / div >
2021-12-08 03:45:58 +00:00
< / div >
2021-10-15 14:08:27 +00:00
< / div >
2021-12-02 19:56:07 +00:00
2021-10-15 14:08:27 +00:00
{% endblock %}
{% block pagenav %}
{% if listing %}
< nav aria-label = "Page navigation" >
< ul class = "pagination pagination-sm mb-0" >
{% if page>1 %}
< li class = "page-item" >
< small > < a class = "page-link" href = "?page={{page-1}}&sort={{sort}}&t={{t}}" tabindex = "-1" > Prev< / a > < / small >
< / li >
{% else %}
< li class = "page-item disabled" > < span class = "page-link" > Prev< / span > < / li >
{% endif %}
{% if next_exists %}
< li class = "page-item" >
< small > < a class = "page-link" href = "?page={{page+1}}&sort={{sort}}&t={{t}}" > Next< / a > < / small >
< / li >
{% else %}
< li class = "page-item disabled" > < span class = "page-link" > Next< / span > < / li >
{% endif %}
< / ul >
< / nav >
{% endif %}
2021-11-30 17:32:52 +00:00
< style >
.wtf {
object-fit: cover !important;
}
< / style >
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 %}