Merge branch 'mistletoe' of https://github.com/Aevann1/Drama into mistletoe

remotes/1693045480750635534/spooky-22
Aevann1 2021-12-13 21:36:01 +02:00
commit 5058206ec5
32 changed files with 317 additions and 273 deletions

View File

@ -179,7 +179,7 @@ def sanitize(sanitized, noimages=False):
classes = 'class="emoji-lg" '
remoji = emoji[1:]
else:
classes = 'height=60 class="emoji-lg" '
classes = 'height=60 class="emoji" '
remoji = emoji
if path.isfile(f'./files/assets/images/emojis/{remoji}.webp'):

View File

@ -52,9 +52,9 @@
<li><a href="/admin/rules">Site Rules</a></li>
</ul>
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="disablesignups" name="disablesignups" {% if x == "yes" %}checked{% endif %} onchange="post_toast('/admin/disablesignups');">
<label class="custom-control-label" for="disablesignups">Disable signups</label>
<div>
<input type="checkbox" id="disablesignups" name="disablesignups" {% if x == "yes" %}checked{% endif %} onchange="post_toast('/admin/disablesignups');">
<label class="label" for="disablesignups">Disable signups</label>
</div>
</div>
{% endblock %}

View File

@ -6,6 +6,7 @@
{% endblock %}
{% block content %}
<div class="col-span-full my-4">
<pre>
@ -27,7 +28,7 @@
<table class="table table-striped mb-5">
<table class="w-full table table-striped mb-5">
<thead class="bg-primary text-white">
<tr>
<th></th>
@ -84,5 +85,5 @@
{% endif %}
</div>
{% endblock %}

View File

@ -6,10 +6,7 @@
{% endblock %}
{% block content %}
<div class="row">
<div class="col col-lg-8">
<div class="settings">
<div class="col-span-full my-4">
<div class="settings-section rounded">
<div class="d-lg-flex">
@ -45,15 +42,12 @@
</div>
</div>
</div>
{% if listing %}
{% include "submission_listing.html" %}
{% elif comments %}
{% include "comments.html" %}
{% endif %}
</div>
</div>
<div class="toast" id="toast-post-success" style="position: fixed; bottom: 1.5rem; margin: 0 auto; left: 0; right: 0; width: 275px; z-index: 1000" role="alert" aria-live="assertive" aria-atomic="true" data-bs-animation="true" data-bs-autohide="true" data-bs-delay="5000">

View File

@ -6,54 +6,50 @@
{% endblock %}
{% block content %}
<div class="col-span-full my-4">
{% for app in apps %}
<div class="flex flex-col space-y-4">
<div class="d-lg-flex">
<div class="text-lg mb-2 learding-normal">
<label for="over18">
<a href="{{app.permalink}}" {% if v and v.newtab %}target="_blank"{% endif %}>{{app.app_name}}</a>
</label>
</div>
<div class="flex flex-col space-y-2">
<label for="edit-{{app.id}}-author" class="label">User</label>
<input id="edit-{{app.id}}-author" class="form-input" type="text" name="name" value="{{app.author.username}}" readonly=readonly>
<div class="row">
<div class="col col-lg-8">
<div class="settings">
{% for app in apps %}
<div class="settings-section rounded">
<div class="d-lg-flex">
<div class="title w-lg-25">
<label for="over18"><a href="{{app.permalink}}" {% if v and v.newtab %}target="_blank"{% endif %}>{{app.app_name}}</a></label>
</div>
<div class="body w-lg-100">
<label for="edit-{{app.id}}-author" class="mb-0 w-lg-25">User</label>
<input id="edit-{{app.id}}-author" class="form-control" type="text" name="name" value="{{app.author.username}}" readonly=readonly>
<label for="edit-{{app.id}}-name" class="label">App Name</label>
<input id="edit-{{app.id}}-name" class="form-input" type="text" name="name" value="{{app.app_name}}" readonly=readonly>
<label for="edit-{{app.id}}-name" class="mb-0 w-lg-25">App Name</label>
<input id="edit-{{app.id}}-name" class="form-control" type="text" name="name" value="{{app.app_name}}" readonly=readonly>
{% if app.client_id %}
<label for="edit-{{app.id}}-client-id" class="mb-0 w-lg-25">Client ID</label>
<input id="edit-{{app.id}}-client-id" class="form-control" type="text" name="name" value="{{app.client_id}}" readonly="readonly">
{% endif %}
{% if app.client_id %}
<label for="edit-{{app.id}}-client-id" class="label">Client ID</label>
<input id="edit-{{app.id}}-client-id" class="form-input" type="text" name="name" value="{{app.client_id}}" readonly="readonly">
{% endif %}
<label for="edit-{{app.id}}-redirect" class="mb-0 w-lg-25">Redirect URI</label>
<input id="edit-{{app.id}}-redirect" class="form-control" type="text" name="redirect_uri" value="{{app.redirect_uri}}" readonly="readonly">
<label for="edit-{{app.id}}-desc" class="mb-0 w-lg-25">Description</label>
<textarea form="edit-app-{{app.id}}" class="form-control" name="description" id="edit-{{app.id}}-desc" maxlength="256" readonly="readonly">{{app.description}}</textarea>
<label for="edit-{{app.id}}-redirect" class="label">Redirect URI</label>
<input id="edit-{{app.id}}-redirect" class="form-input" type="text" name="redirect_uri" value="{{app.redirect_uri}}" readonly="readonly">
<label for="edit-{{app.id}}-desc" class="label">Description</label>
<textarea form="edit-app-{{app.id}}" class="form-input" name="description" id="edit-{{app.id}}-desc" maxlength="256" readonly="readonly">{{app.description}}</textarea>
</div>
</div>
<div class="mt-2">
<div class="flex">
{% if not app.client_id %}
<a href="javascript:void(0)" class="btn btn-green ml-auto" onclick="post_toast('/admin/app/approve/{{app.id}}')">Approve</a>
<a href="javascript:void(0)" class="btn btn-red" onclick="post_toast('/admin/app/reject/{{app.id}}')">Reject</a>
{% else %}
<a href="javascript:void(0)" class="btn btn-red ml-auto" onclick="post_toast('/admin/app/revoke/{{app.id}}')">Revoke</a>
{% endif %}
</div>
</div>
</div>
<div class="footer">
<div class="d-flex">
{% if not app.client_id %}
<a href="javascript:void(0)" class="btn btn-primary ml-auto" onclick="post_toast('/admin/app/approve/{{app.id}}')">Approve</a>
<a href="javascript:void(0)" class="btn btn-secondary mr-0" onclick="post_toast('/admin/app/reject/{{app.id}}')">Reject</a>
{% else %}
<a href="javascript:void(0)" class="btn btn-primary ml-auto" onclick="post_toast('/admin/app/revoke/{{app.id}}')">Revoke</a>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endfor %}
</div>
<div class="toast" id="toast-post-success" style="position: fixed; bottom: 1.5rem; margin: 0 auto; left: 0; right: 0; width: 275px; z-index: 1000" role="alert" aria-live="assertive" aria-atomic="true" data-bs-animation="true" data-bs-autohide="true" data-bs-delay="5000">

View File

@ -8,6 +8,8 @@
{% block content %}
<div class="col-span-full my-4">
{% if error %}
<div class="alert alert-danger alert-dismissible fade show my-3" role="alert">
<i class="fas fa-exclamation-circle my-auto"></i>
@ -38,9 +40,9 @@
<form action="/admin/awards", method="post">
<input type="hidden" name="formkey" value="{{v.formkey}}">
<label for="input-username">Username</label><br>
<input id="input-username" class="form-control mb-3" type="text" name="username" required>
<input id="input-username" class="form-input mb-3" type="text" name="username" required>
<table class="table table-striped">
<table class="w-full table table-striped">
<thead class="bg-primary text-white">
<tr>
<th scope="col">Icon</th>
@ -53,17 +55,19 @@
<tr>
<td><i class="{{a['icon']}} {{a['color']}}" style="font-size: 30px"></i></td>
<td style="font-weight: bold">{{a['title']}}</td>
<td><input type="number" class="form-control" name="{{a['kind']}}" value="0" min="0" max="10" placeholder="Enter amount..." ></td>
<td><input type="number" class="form-input" name="{{a['kind']}}" value="0" min="0" max="10" placeholder="Enter amount..." ></td>
</tr>
{% endfor %}
</table>
<input class="btn btn-primary mt-3" type="submit" value="Grant Awards">
<input class="btn btn-green mt-3" type="submit" value="Grant Awards">
</form>
<pre></pre>
{% if 'rdrama.net' not in request.host or v.admin_level > 2 %}
<div><a class="btn btn-success" href="javascript:void(0)" onclick="post_toast('/admin/monthly')">Grant Monthly Marseybux</a></div>
<div><a class="btn btn-green mt-3" href="javascript:void(0)" onclick="post_toast('/admin/monthly')">Grant Monthly Marseybux</a></div>
{% endif %}
</div>
{% endblock %}

View File

@ -7,6 +7,7 @@
{% block pagetype %}message{% endblock %}
{% block content %}
<div class="col-span-full">
{% if error %}
<div class="alert alert-danger alert-dismissible fade show my-3" role="alert">
@ -72,6 +73,8 @@
</form>
</div>
<style>
@media (max-width: 767.98px) {
table {

View File

@ -39,8 +39,9 @@
.train1 {
position: fixed;
z-index: 10;
width: 40px;
width: 150px;
animation: train 3s linear infinite !important;
top: 35%
}
.train2 {
display: none !important;

View File

@ -222,6 +222,11 @@
{% if c.post and c.post.award_count("ghosts") %}
<span>👻</span>
{% else %}
{% if c.author.verified %}
<i class="fas fa-badge-check" style="color:{% if c.author.verifiedcolor %}#{{c.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
{% endif %}
<div class="relative md:hidden flex-shrink-0 {{ 'santa' if c.author.patron else 'cap' }}">
<img loading="lazy" src="{{ c.author.profile_url }}" class="flex-shrink-0 w-9 h-9 p-[3px] bg-white border border-gray-300 object-cover lozad" alt="{{ c.author.username }} avatar"/>
</div>
@ -250,15 +255,11 @@
</bdi>
{% endif %}
{% if c.author.verified %}
<i class="fas fa-badge-check align-middle ml-1" style="color:{% if c.author.verifiedcolor %}#{{c.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="{{c.author.verified}}"></i>
{% endif %}
{% if c.bannedfor and c.author.banned_by %}
<a href="javascript:void(0)"><i class="fad fa-gavel text-danger" data-bs-toggle="tooltip" data-bs-placement="bottom" title="" data-bs-original-title="User was banned for this comment by @{{c.author.banned_by.username}}"></i></a>
{% endif %}
{% if c.active_flags %}
<a class="btn btn-gray" style="padding:1px 5px; font-size:10px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{c.id}}').classList.toggle('hidden')">{{c.active_flags}} Reports</a>
<a class="flex-shrink-0 badge badge-red" style="padding:1px 5px; font-size:10px;" href="javascript:void(0)" onclick="document.getElementById('flaggers-{{c.id}}').classList.toggle('hidden')">{{c.active_flags}} Reports</a>
{% endif %}
{% if c.over_18 %}
<span class="badge badge-red">+18</span>
@ -323,7 +324,7 @@
<div id="comment-banned-warning" class="hidden-on-collapse text-red-600 mb-0">Removed by @{{c.ban_reason}}</div>
{% endif %}
<div id="comment-text-{{c.id}}" class="hidden-on-collapse text-black mt-2 {% if c.award_count("candycane") %}candycane{% endif %}">
<div id="comment-text-{{c.id}}" class="hidden-on-collapse text-black mt-2 break-words {% if c.award_count("candycane") %}candycane{% endif %}">
{{c.realbody(v) | safe}}
{% if c.options %}
{% for o in c.options %}

View File

@ -45,12 +45,18 @@
<i class="fas fa-gift fa-fw mr-2" aria-hidden="true"></i>Gift Award
</button>
</li>
{% endif %}
<li class="hidden md:block">
<button class="copy-link hover:text-gray-400" data-clipboard-text="{% if 'rama' in request.host %}https://dogpill.life{{c.permalink}}{% else %}{{c.permalink | full_link}}{% endif %}?context=10#context">
<i class="fas fa-link fa-fw mr-2"></i>Copy link
</button>
</li>
{% endif %}
<li class="hidden md:block">
<a href="/votes?link={{c.fullname}}" class="text-gray-500 hover:text-gray-400">
<i class="fas fa-poll fa-fw mr-2"></i>Votes
</a>
</li>
<li class="hidden md:block">
<div class="dropdown">
@ -58,7 +64,7 @@
<i class="fas fa-ellipsis-h fa-fw"></i>
</button>
<ul class="dropdown-menu w-56 bg-gray-900 rounded-md shadow-lg" aria-labelledby="dropdownComment-{{c.id}}Actions">
<li class="hidden md:block">
<li class="hidden">
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="/votes?link={{c.fullname}}">
<i class="fas fa-poll fa-sm fa-fw mr-4"></i>Votes
</a>

View File

@ -186,7 +186,7 @@
{% block stylesheets %}
<link rel="stylesheet" href="/assets/css/main.css?v=202">
<link rel="stylesheet" href="/assets/css/main.css?v=203">
{% assets 'css' %}
<link rel="stylesheet" href="{{ ASSET_URL }}">
@ -195,7 +195,8 @@
<link rel="stylesheet" href="/assets/css/mistletoe.css?v=200">
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<style>:root{--primary:#dc2626}</style>
<!-- <style>:root{--primary:#{{v.themecolor}}}</style> -->
<!-- <link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=200"> -->
{% if v.agendaposter %}
<link rel="stylesheet" href="/assets/css/agendaposter.css?v=200">
@ -203,14 +204,14 @@
<link rel="stylesheet" href="/@{{v.username}}/css">
{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<style>:root{--primary:#dc2626}</style>
<!-- <style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}}</style> -->
<!-- <link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=200"> -->
{% endif %}
{% endblock %}
<link rel="preload" href="/assets/css/fa.css?v=200" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/assets/css/fa.css?v=200"></noscript>
<link href="/assets/css/fa.css?v=200" rel="stylesheet">
<style>
@font-face { font-family: 'Delius Swash Caps'; src: url('/assets/fonts/DeliusSwashCaps-Regular.ttf'); }
@ -341,7 +342,7 @@
<script defer src="/assets/js/popover.js?v=200"></script>
<script src="/assets/js/mobile_navigation_bar.js?v=200"></script>
<script src="/assets/js/mobile_navigation_bar.js?v=204"></script>
{% if v %}
<script>function formkey() {return '{{v.formkey}}';}</script>

View File

@ -1,11 +1,11 @@
<div class="dropdown">
<button class="relative flex items-center px-3 py-2.5 rounded text-sm text-gray-500 hover:text-gray-400 focus:text-gray-200 text-shadow focus:outline-none dropdown-toggle" type="button" id="dropdownProfileMenuButton" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<button class="relative flex items-center px-3 py-2.5 rounded text-sm text-gray-100 hover:text-gray-400 focus:text-gray-200 focus:outline-none dropdown-toggle" type="button" id="dropdownProfileMenuButton" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Open user menu</span>
<img class="h-9 w-9 bg-white p-[3px] border border-gray-800" src="{{ v.profile_url }}" alt="Your avatar"/>
<div class="pl-2 text-left">
<span class="text-sm">{{ v.username }}</span>
<div class="flex items-center block mt-1 leading-none text-gray-500">
<span class="text-xs pl-1">{{v.coins}} {{'COINS_NAME' | app_config}}</span>
<span class="font-bold text-sm">{{ v.username }}</span>
<div class="flex items-center block leading-none text-gray-400">
<span class="text-xs">{{v.coins}} {{'COINS_NAME' | app_config}}</span>
</div>
</div>
</button>
@ -61,7 +61,7 @@
</li>
<li>
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 hover:text-yellow-900 bg-gradient-to-t hover:from-yellow-600 hover:to-yellow-500 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-yellow-600 focus:to-yellow-500" href="https://marsey1.gumroad.com/l/tfcvri">
<i class="fas fa-arrow-alt-up fa-sm fa-fw mr-4"></i>Upgrade account
<i class="fas fa-arrow-alt-up fa-sm fa-fw mr-4"></i>rDrama Gumroad
</a>
</li>
<li>

View File

@ -4,25 +4,25 @@
</button>
<ul class="dropdown-menu w-56 bg-gray-900 rounded-md shadow-lg" aria-labelledby="dropdownProfile-Actions">
<li>
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="@{{ u.username }}/upvoters">
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="/@{{ u.username }}/upvoters">
<i class="fas fa-kiss-wink-heart fa-sm fa-fw mr-4"></i>
Simps
</a>
</li>
<li>
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="@{{ u.username }}/downvoters">
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="/@{{ u.username }}/downvoters">
<i class="fas fa-tired fa-sm fa-fw mr-4"></i>
Haters
</a>
</li>
<li>
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="@{{ u.username }}/upvoting">
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="/@{{ u.username }}/upvoting">
<i class="fas fa-grin-hearts fa-sm fa-fw mr-4"></i>
Simps for
</a>
</li>
<li>
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="@{{ u.username }}/downvoting">
<a class="dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" href="/@{{ u.username }}/downvoting">
<i class="fas fa-angry fa-sm fa-fw mr-4"></i>
Hates
</a>

View File

@ -1,13 +1,13 @@
{% extends "default.html" %}
{% block content %}
<script src="/assets/js/followers.js?v=200"></script>
<div class="col-span-full">
<pre>
</pre>
<h5>@{{u.username}}'s followers</h5>
<pre></pre>
<table class="table table-striped mb-5">
<table class="w-full table table-striped mb-5">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -23,11 +23,15 @@
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img loading="lazy" src="/uid/{{user.id}}/pic" class="pp20"><span {% if user.patron %}class="patron" style="background-color:#{{user.namecolor}};"{% endif %}>{{user.username}}</span></a></td>
{% if v.id == u.id %}
<td><div class="btn btn-danger pr-2" onclick="removeFollower(event, '{{user.username}}')">Remove follow</div></td>
<td><div class="btn btn-red" onclick="removeFollower(event, '{{user.username}}')">Remove follow</div></td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
{% block scripts %}
<script src="/assets/js/followers.js?v=200"></script>
{% endblock %}

View File

@ -1,13 +1,9 @@
{% extends "default.html" %}
{% block content %}
<script src="/assets/js/following.js?v=200"></script>
<pre>
</pre>
<div class="col-span-full my-4">
<h5>Users followed by @{{u.username}}</h5>
<pre></pre>
<table class="table table-striped mb-5">
<table class="w-full table table-striped mb-5">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -29,5 +25,9 @@
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
{% block scripts %}
<script src="/assets/js/following.js?v=200"></script>
{% endblock %}

View File

@ -1,4 +1,4 @@
{% extends "default.html" %}
{% extends "settings2.html" %}
{% block title %}
<title>{{'SITE_NAME' | app_config}} - Formatting</title>
<meta name="description" content="{{'SITE_NAME' | app_config}} Formatting">

View File

@ -43,7 +43,7 @@
<i class="fas fa-search text-gray-600 absolute top-3 right-2"></i>
</form>
</div>
<div class="hidden lg:flex items-center space-x-2 sm:ml-4">
<div class="hidden lg:flex items-center sm:ml-4">
<!-- Current: "bg-gray-900 text-white", Default: "text-gray-300 hover:bg-gray-700 hover:text-white" -->
<a href="/" class="relative px-3 py-2.5 rounded text-sm leading-normal {{ 'text-gray-200 font-bold text-shadow' if request.path == '/' else 'text-gray-500 hover:text-gray-400' }}" aria-current="page">
<i class="fas fa-home-lg-alt fa-fw mr-2"></i>
@ -55,12 +55,12 @@
Comments
</a>
{% include "/dropdowns/NavbarExtraLinks.html" %}
<a href="/leaderboard" class="relative px-3 py-2.5 rounded text-sm leading-normal {{ 'text-gray-200 font-bold text-shadow' if request.path == '/leaderboard' else 'text-gray-500 hover:text-gray-400' }}" aria-current="page">
<i class="fas fa-trophy fa-fw mr-2"></i>
Leaderboard
</a>
<!-- <a href="/shop" class="relative px-3 py-2.5 rounded text-sm {{ 'text-gray-200 font-bold text-shadow' if request.path == '/shop' else 'text-gray-500 hover:text-gray-400' }}">
<i class="fas fa-store fa-fw mr-2"></i>
Shop
</a> -->
{% include "/dropdowns/NavbarExtraLinks.html" %}
<a href="/shop" class="hidden xl:flex items-center relative px-3 py-2.5 rounded text-sm text-yellow-500 leading-normal {{ 'font-bold text-shadow' if request.path == '/shop' else 'font-medium' }}">
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="15px" height="12px" class="object-contain mr-2.5"/>
@ -76,10 +76,17 @@
<div class="ml-3 relative hidden sm:block">
{% include "/dropdowns/NavbarProfile.html" %}
</div>
<!-- Post Creation -->
<a href="{{ '/submit' if v else '/signup?redirect={{request.path | urlencode}}' }}" class="bg-transparent p-1 rounded-full text-gray-500 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<span class="sr-only">Submit post</span>
<i class="fas fa-plus fa-fw"></i>
{% if v.admin_level > 1 %}
<!-- Admin link -->
<a href="{{ '/admin' if v else '/signup?redirect={{request.path | urlencode}}' }}" class="bg-transparent p-1 rounded-full text-gray-500 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<span class="sr-only">Admin tools</span>
<i class="fas fa-crown fa-fw"></i>
</a>
{% endif %}
<!-- Profile link -->
<a href="{{ '/me' if v else '/signup?redirect={{request.path | urlencode}}' }}" class="bg-transparent p-1 rounded-full text-gray-500 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<span class="sr-only">My profile</span>
<i class="fas fa-user fa-fw"></i>
</a>
<!-- Notifications -->
<a href="/notifications{% if v.notifications_count and v.notifications_count == v.post_notifications_count %}?posts=true{% endif %}" class="block bg-transparent p-1 rounded-full text-gray-500 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
@ -94,6 +101,11 @@
{% endif %}
</div>
</a>
<!-- Post Creation -->
<a href="{{ '/submit' if v else '/signup?redirect={{request.path | urlencode}}' }}" class="bg-transparent p-1 rounded-full text-gray-500 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white">
<span class="sr-only">Submit post</span>
<i class="fas fa-plus fa-fw"></i>
</a>
<!-- Not logged in -->
{% else %}
<!-- Login button -->
@ -128,10 +140,10 @@
</form>
{% if v %}
<!-- Submit post link -->
<button class="w-full btn btn-red mb-4">
<a href="/submit" class="w-full btn btn-red mb-4">
<i class="fas fa-pen fa-sm fa-fw mr-2"></i>
Create post
</button>
</a>
<!-- Meta links -->
<ul class="flex flex-col space-y-3 font-bold text-base text-gray-600">
<li>
@ -187,12 +199,12 @@
{% else %}
<ul class="flex flex-col space-y-2">
<li>
<a class="btn btn-gray" href="/login?redirect={{request.path | urlencode}}">
<a class="btn btn-gray w-full" href="/login?redirect={{request.path | urlencode}}">
Login
</a>
</li>
<li>
<a class="btn btn-gray" href="/signup?redirect={{request.path | urlencode}}">
<a class="btn btn-gray w-full" href="/signup?redirect={{request.path | urlencode}}">
Signup
</a>
</li>

View File

@ -54,25 +54,25 @@
<div class="col-span-full mb-6">
<div class="flex items-center px-4 py-4 bg-gradient-to-t from-gray-200 to-gray-100 sticky top-0 z-10">
<h2 class="text-2xl font-heading font-bold mb-0">
rDrama's 20 Greediest Members
rDrama's 25 Greediest Members
</h2>
</div>
<div class="mb-4 flex flex-col bg-gray-100 rounded-lg overflow-hidden">
{% for user in users1 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users1.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users1.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users1.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -81,7 +81,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.coins}}
</span>
@ -100,18 +100,18 @@
{% for user in users7 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users7.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users7.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users7.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -120,7 +120,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.coins_spent}}
</span>
@ -139,18 +139,18 @@
{% for user in users2 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users2.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users2.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users2.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -159,7 +159,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.stored_subscriber_count}}
</span>
@ -178,18 +178,18 @@
{% for user in users3 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users3.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users3.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users3.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -198,7 +198,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.post_count}}
</span>
@ -217,18 +217,18 @@
{% for user in users4 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users4.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users4.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users4.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -237,7 +237,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.comment_count}}
</span>
@ -256,18 +256,18 @@
{% for user in users5 %}
<div class="flex items-center border-b last:border-b-none border-gray-300 shadow-inset-t-white-05 px-5 py-3 {% if v.username == user.username %}text-red-900 text-shadow-light bg-red-600{% elif users5.index(user) % 2 != 0 %}bg-gray-200{% endif %}">
<!-- Rank -->
<h2 class="text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
<h2 class="flex-shrink-0 text-2xl font-bold font-heading text-center w-16 -ml-5 mb-0 {{ 'text-red-900' if v.username == user.username else 'text-gray-400' }}">
{{users5.index(user)+1}}
</h2>
<div class="relative">
<img src="{{user.profile_url}}" class="p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
<div class="relative flex-shrink-0">
<img src="{{user.profile_url}}" class="flex-shrink-0 p-[3px] border w-12 h-12 object-cover {{ 'bg-red-800 border-red-900' if v.username == user.username else 'bg-white border-gray-300' }}" alt="{{ user.username }} avatar"/>
{% if users5.index(user)+1 == 1 %}
<img src="https://i.ibb.co/xFgG6yf/Coinfixed.gif" width="20px" height="12px" class="absolute -top-1 -right-2.5 object-contain"/>
{% endif %}
</div>
<!-- User Details -->
<div class="ml-3">
<a class="block font-heading font-bold text-xl text-black hover:text-red-600" href="/@{{user.username}}">
<a class="block font-heading font-bold text-lg md:text-xl text-black hover:text-red-600" href="/@{{user.username}}">
{{user.username}}
</a>
{% if user.customtitle %}
@ -276,7 +276,7 @@
</p>
{% endif %}
</div>
<div class="ml-auto mr-4">
<div class="ml-auto mr-4 pl-3">
<span class="text-xl font-heading font-bold {{ 'text-red-900' if v.username == user.username else 'text-gray-700' }}">
{{user.received_award_count}}
</span>

View File

@ -6,11 +6,11 @@
{% block content %}
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/assets/css/main.css?v=200"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=200">
<link rel="stylesheet" href="/assets/css/main-deprecated.css?v=200"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=200">
{% if v.agendaposter %}<link rel="stylesheet" href="/assets/css/agendaposter.css?v=200">{% elif v.css %}<link rel="stylesheet" href="/@{{v.username}}/css">{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/assets/css/main.css?v=200"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=200">
<link rel="stylesheet" href="/assets/css/main-deprecated.css?v=200"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=200">
{% endif %}
<div class="row justify-content-around">

View File

@ -9,7 +9,7 @@
</div>
<div class="relative modal-body">
<!-- If user has less than 100 dramacoin, disable form -->
{% if u.coins < 100 %}
{% if v.coins < 100 %}
<div class="absolute left-0 bottom-0 flex flex-col items-center justify-center w-full h-full bg-white/60 z-10">
<p class="text-lg font-bold text-gray-900 mb-0">
You need at least 100 dramacoin to send coins.
@ -53,7 +53,7 @@
<button type="button" class="px-4 py-2 text-sm font-bold text-gray-500 hover:text-gray-700" data-bs-dismiss="modal">
Cancel
</button>
<button onclick="transferCoins()" class="btn btn-green {{ 'cursor-not-allowed' if u.coins < 100 }}" {% if u.coins < 100 %}disabled{% endif %}>
<button onclick="transferCoins()" class="btn btn-green {{ 'cursor-not-allowed' if v.coins < 100 }}" {% if v.coins < 100 %}disabled{% endif %}>
Gift coins
</button>
</div>

View File

@ -60,7 +60,7 @@
</style>
</head>
<body class="overflow-hidden antialiased bg-cover bg-center bg-gray-200 text-gray-900" {% if v and v.background %}style="background:url(/assets/images/backgrounds/{{v.background}})"{% endif %}>
<body class="overflow-hidden overflow-y-auto sm:overflow-y-none antialiased bg-cover bg-center bg-gray-500 text-gray-900" {% if v and v.background %}style="background:url(/assets/images/backgrounds/{{v.background}})"{% endif %}>
{% include "header-tw.html" %}

View File

@ -5,19 +5,19 @@
<head>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'; connect-src 'self'; object-src 'none';">
<script src="/assets/js/bootstrap.js?v=200"></script>
<script src="/assets/js/bootstrap.js?v=190"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=200">
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp?v=200">
<meta name="thumbnail" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=190">
<link rel="icon" type="image/png" href="/assets/images/{{'SITE_NAME' | app_config}}/icon.webp?v=190">
<meta property="og:type" content="article" >
<meta property="og:title" content="{{'SITE_NAME' | app_config}}" >
<meta property="og:site_name" content="{{request.host}}" >
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=200" >
<meta property="og:image" content="{{'SITE_NAME' | app_config}}/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=190" >
<meta property="og:url" content="{{request.path | full_link}}">
<meta property="og:description" name="description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}">
<meta property="og:author" name="author" content="{{request.host_url}}" >
@ -28,7 +28,7 @@
<meta name="twitter:title" content="{{'SITE_NAME' | app_config}}" >
<meta name="twitter:creator" content="{{request.host_url}}">
<meta name="twitter:description" content="{{'SITE_NAME' | app_config}} - {{'SLOGAN' | app_config}}" >
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=200" >
<meta name="twitter:image" content="/assets/images/{{'SITE_NAME' | app_config}}/preview.webp?v=190" >
<meta name="twitter:url" content="{{request.path | full_link}}" >
@ -38,13 +38,13 @@
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/assets/css/main.css?v=200"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=200">
<link rel="stylesheet" href="/assets/css/main-deprecated.css?v=190"><link rel="stylesheet" href="/assets/css/{{v.theme}}.css?v=190">
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/assets/css/main.css?v=200"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=200">
<link rel="stylesheet" href="/assets/css/main-deprecated.css?v=190"><link rel="stylesheet" href="/assets/css/{{'DEFAULT_THEME' | app_config}}.css?v=190">
{% endif %}
<link href="/assets/css/fa.css?v=200" rel="stylesheet">
<link href="/assets/css/fa.css?v=190" rel="stylesheet">
</head>
<body id="settings2" style="overflow-x: hidden; {% if v and v.background %} background:url(/assets/images/backgrounds/{{v.background}}) no-repeat center center fixed !important; background-size: cover!important; background-color: #000!important;{% endif %}">
@ -149,8 +149,6 @@
</div>
</div>
<div id="formkey" class="hidden">{{ v.formkey }}</div>
{% block mobilenavbar %}
{% include "mobile_navigation_bar.html" %}
{% endblock %}

View File

@ -142,9 +142,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="newtab" name="newtab"{% if v.newtab %} checked{% endif %} onchange="post_toast('/settings/profile?newtab='+document.getElementById('newtab').checked);">
<label class="custom-control-label" for="newtab"></label>
<div>
<input type="checkbox" id="newtab" name="newtab"{% if v.newtab %} checked{% endif %} onchange="post_toast('/settings/profile?newtab='+document.getElementById('newtab').checked);">
<label class="label" for="newtab"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically open threads in new tabs.</span>
@ -162,9 +162,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="newtabexternal" name="newtabexternal"{% if v.newtabexternal %} checked{% endif %} onchange="post_toast('/settings/profile?newtabexternal='+document.getElementById('newtabexternal').checked);">
<label class="custom-control-label" for="newtabexternal"></label>
<div>
<input type="checkbox" id="newtabexternal" name="newtabexternal"{% if v.newtabexternal %} checked{% endif %} onchange="post_toast('/settings/profile?newtabexternal='+document.getElementById('newtabexternal').checked);">
<label class="label" for="newtabexternal"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically open external links in new tabs.</span>
@ -190,9 +190,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="nitter" name="nitter"{% if v.nitter %} checked{% endif %} onchange="post_toast('/settings/profile?nitter='+document.getElementById('nitter').checked);">
<label class="custom-control-label" for="nitter"></label>
<div>
<input type="checkbox" id="nitter" name="nitter"{% if v.nitter %} checked{% endif %} onchange="post_toast('/settings/profile?nitter='+document.getElementById('nitter').checked);">
<label class="label" for="nitter"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically convert twitter.com links to nitter.net links.</span>
@ -216,9 +216,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="teddit" name="teddit"{% if v.teddit %} checked{% endif %} onchange="post_toast('/settings/profile?teddit='+document.getElementById('teddit').checked);">
<label class="custom-control-label" for="teddit"></label>
<div>
<input type="checkbox" id="teddit" name="teddit"{% if v.teddit %} checked{% endif %} onchange="post_toast('/settings/profile?teddit='+document.getElementById('teddit').checked);">
<label class="label" for="teddit"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically convert reddit.com links to teddit.net links.</span>
@ -235,9 +235,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="oldreddit" name="oldreddit"{% if v.oldreddit %} checked{% endif %} onchange="post_toast('/settings/profile?oldreddit='+document.getElementById('oldreddit').checked);">
<label class="custom-control-label" for="oldreddit"></label>
<div>
<input type="checkbox" id="oldreddit" name="oldreddit"{% if v.oldreddit %} checked{% endif %} onchange="post_toast('/settings/profile?oldreddit='+document.getElementById('oldreddit').checked);">
<label class="label" for="oldreddit"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically convert reddit.com links to old.reddit.com links.</span>
@ -254,9 +254,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="controversial" name="controversial"{% if v.controversial %} checked{% endif %} onchange="post_toast('/settings/profile?controversial='+document.getElementById('controversial').checked);">
<label class="custom-control-label" for="controversial"></label>
<div>
<input type="checkbox" id="controversial" name="controversial"{% if v.controversial %} checked{% endif %} onchange="post_toast('/settings/profile?controversial='+document.getElementById('controversial').checked);">
<label class="label" for="controversial"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically sort reddit.com links by controversial.</span>
@ -279,9 +279,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="sigs_disabled" name="sigs_disabled"{% if v.sigs_disabled %} checked{% endif %} onchange="post_toast('/settings/profile?sigs_disabled='+document.getElementById('sigs_disabled').checked);">
<label class="custom-control-label" for="sigs_disabled"></label>
<div>
<input type="checkbox" id="sigs_disabled" name="sigs_disabled"{% if v.sigs_disabled %} checked{% endif %} onchange="post_toast('/settings/profile?sigs_disabled='+document.getElementById('sigs_disabled').checked);">
<label class="label" for="sigs_disabled"></label>
</div>
<span class="text-small-extra text-muted">Hide user signatures.</span>
@ -300,9 +300,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="over18" name="over18"{% if v.over_18 %} checked{% endif %} onchange="post_toast('/settings/profile?over18='+document.getElementById('over18').checked);">
<label class="custom-control-label" for="over18"></label>
<div>
<input type="checkbox" id="over18" name="over18"{% if v.over_18 %} checked{% endif %} onchange="post_toast('/settings/profile?over18='+document.getElementById('over18').checked);">
<label class="label" for="over18"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to not get a warning before viewing +18 content.</span>
@ -321,9 +321,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="slurreplacer" name="slurreplacer"{% if v.slurreplacer %} checked{% endif %} onchange="post_toast('/settings/profile?slurreplacer='+document.getElementById('slurreplacer').checked);">
<label class="custom-control-label" for="slurreplacer"></label>
<div>
<input type="checkbox" id="slurreplacer" name="slurreplacer"{% if v.slurreplacer %} checked{% endif %} onchange="post_toast('/settings/profile?slurreplacer='+document.getElementById('slurreplacer').checked);">
<label class="label" for="slurreplacer"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically replace slurs.</span>
@ -341,9 +341,9 @@
<div class="body w-lg-100">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="hidevotedon" name="hidevotedon"{% if v.hidevotedon %} checked{% endif %} onchange="post_toast('/settings/profile?hidevotedon='+document.getElementById('hidevotedon').checked);">
<label class="custom-control-label" for="hidevotedon"></label>
<div>
<input type="checkbox" id="hidevotedon" name="hidevotedon"{% if v.hidevotedon %} checked{% endif %} onchange="post_toast('/settings/profile?hidevotedon='+document.getElementById('hidevotedon').checked);">
<label class="label" for="hidevotedon"></label>
</div>
<span class="text-small-extra text-muted">Enable if you would like to automatically hide posts you have voted on from your frontpage.</span>

View File

@ -108,7 +108,7 @@
</div>
</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<td class="px-6 py-4">
<div class="text-sm text-gray-700">{{a['description']}}</div>
</td>
<td class="px-6 py-4 whitespace-nowrap">

View File

@ -45,6 +45,19 @@
</small>
</div>
</li>
<li class="flex">
<div class="flex items-center justify-center px-2 flex-shrink-0">
<img class="object-contain w-5 h-5" src="/assets/christmas/ribbon1.png" alt="ribbon icon">
</div>
<div class="pl-3 mt-[-1px] truncate">
<a href="/post/29916/" class="block font-medium text-black hover:text-red-600 truncate ellipsis">
PUBLIC DRAMACOIN MINE
</a>
<small class="block text-gray-500">
posted by <a href="/@SeetheFarmer" class="text-gray-500 hover:text-gray-600">@SeetheFarmer</a>
</small>
</div>
</li>
</ul>
</div>
<hr class="mt-6 mb-5 h-0.5 border-b border-gray-300 shadow-inset-t-white-05"/>

View File

@ -66,6 +66,11 @@
<i class="fas fa-poll fa-fw mr-2"></i>Votes
</a>
</li>
<li class="hidden md:inline-block">
<button class="copy-link hover:text-gray-400" data-clipboard-text="{% if 'rama' in request.host %}https://dogpill.life{{p.permalink}}{% else %}{{p.permalink | full_link}}{% endif %}">
<i class="fas fa-link fa-fw mr-2"></i>Copy link
</button>
</li>
<li class="hidden md:inline-block">
<div class="dropdown">
<button type="button" id="dropdownPostActions" data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside">
@ -73,7 +78,7 @@
</button>
<ul class="dropdown-menu w-56 bg-gray-900 rounded-md shadow-lg" aria-labelledby="dropdownPostActions">
<!-- Does not require auth -->
<li>
<li class="hidden">
<button class="copy-link dropdown-item block w-full text-left px-4 py-2 text-sm text-gray-200 bg-gradient-to-t hover:from-red-800 hover:to-red-700 hover:shadow-inner focus:shadow-inner focus:bg-gradient-to-t focus:from-red-800 focus:to-red-700" role="button" data-clipboard-text="{% if 'rama' in request.host %}https://dogpill.life{{p.permalink}}{% else %}{{p.permalink | full_link}}{% endif %}">
<i class="fas fa-link fa-sm fa-fw mr-4"></i>Copy link
</button>

View File

@ -20,7 +20,7 @@
</li>
<li class="mr-5">
<button class="copy-link" data-clipboard-text="{% if 'rama' in request.host %}https://dogpill.life{{p.permalink}}{% else %}{{p.permalink | full_link}}{% endif %}">
<i class="fas fa-link fa-fw mr-2"></i>Copy link
<i class="fas fa-link fa-fw"></i>
</button>
</li>
{% if v %}
@ -30,7 +30,7 @@
</button>
</li>
{% endif %}
<li id="voting-{{p.id}}-mobile" class="voting {% if voted==1 %} upvoted{% elif voted==-1 %} downvoted{% endif %}">
<li id="voting-{{p.id}}-mobile" class="flex-shrink-0 voting {% if voted==1 %} upvoted{% elif voted==-1 %} downvoted{% endif %}">
{% if v %}
<button id="post-mobile-{{p.id}}-up" onclick="vote('post-mobile', '{{p.id}}', '1')" class="mx-0 pr-1 arrow-up upvote-button post-{{p.id}}-up {% if voted==1 %}active{% endif %}">
</button>
@ -40,7 +40,7 @@
</button>
{% endif %}
<span id="post-mobile-score-{{p.id}}" class="score post-score-{{p.id}} {% if voted==1 %}score-up{% elif voted==-1%}score-down{% endif %}" data-bs-toggle="tooltip" data-bs-placement="top" title="" data-bs-original-title="+{{ups}} | -{{downs}}">
<span id="post-mobile-score-{{p.id}}" class="text-base score post-score-{{p.id}} {% if voted==1 %}score-up{% elif voted==-1%}score-down{% endif %}" data-bs-toggle="tooltip" data-bs-placement="top" title="" data-bs-original-title="+{{ups}} | -{{downs}}">
{{score}}
</span>

View File

@ -225,14 +225,14 @@
{% endif %}
</ul>
<h5 class="post-title font-bold font-heading text-lg md:text-xl leading-normal mb-2">
<a {% if v and v.newtab %}target="_blank"{% endif %} href="{{p.permalink}}" class="stretched-link text-black hover:text-primary visited:text-gray-700">
<h5 class="post-title font-bold font-heading text-lg md:text-xl leading-5 mb-2">
<a {% if v and v.newtab %}target="_blank"{% endif %} href="{{p.permalink}}" class="stretched-link text-black hover:text-primary visited:text-gray-700 break-words" style="word-break: break-word;">
{{p.realtitle(v) | safe}}
</a>
</h5>
{% if p.realbody(v) and not p.over_18 %}
<div class="gradient-mask max-h-32 mb-2 overflow-hidden pointer-events-none text-gray-600" id="post-text-{{p.id}}">
<div class="relative z-10 gradient-mask max-h-12 mb-2 overflow-hidden pointer-events-none text-gray-600 break-words" style="word-break: break-word;" id="post-text-{{p.id}}">
{{p.realbody(v) | safe}}
</div>
{% endif %}
@ -377,7 +377,7 @@
{% include "expanded_image_modal.html" %}
<script defer src="/assets/js/new_comments_count.js?v=200"></script>
<script defer src="/assets/js/submission_listing.js?v=200"></script>
<script defer src="/assets/js/submission_listing.js?v=201"></script>
<style>
.mod:before {

View File

@ -126,10 +126,10 @@
<a href="/formatting" target="_blank" class="block mt-2 text-xs text-gray-500 hover:text-gray-400">Formatting help</a>
</div>
<div class="btn btn-secondary" onclick="document.getElementById('preview').classList.toggle('d-none');" style="float: right;">
<!-- <div class="btn btn-secondary" onclick="document.getElementById('preview').classList.toggle('d-none');" style="float: right;">
Toggle preview
</div>
<div id="preview" class="my-3"></div>
</div> -->
<div id="preview" class="hidden my-3"></div>
<!-- User form key (required) -->
<input type="hidden" name="formkey" value="{{v.formkey}}" class="hidden">

View File

@ -144,16 +144,16 @@
{% if u.id == v.id or not u.is_private %}
<ul class="hidden xl:flex items-center space-x-3 mb-0">
<li>
<div class="text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</div>
<a href="/@{{ u.username }}/followers" class="text-black text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</a>
<small class="block font-bold text-gray-500">Followers</small>
</li>
<li>
<div class="text-lg font-bold mb-0">{{ u.coins }}</div>
<div class="text-black 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>
<div class="text-black text-lg font-bold mb-0">{{ u.procoins }}</div>
<small class="block font-bold text-gray-500">MarseyBux</small>
</li>
{% endif %}
@ -172,16 +172,16 @@
{% if u.id == v.id or not u.is_private %}
<ul class="flex items-center space-x-3 mt-3 mb-0">
<li>
<div class="text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</div>
<a href="/@{{ u.username }}/followers" class="text-black text-lg font-bold mb-0">{{ u.stored_subscriber_count }}</a>
<small class="block font-bold text-gray-500">Followers</small>
</li>
<li>
<div class="text-lg font-bold mb-0">{{ u.coins }}</div>
<div class="text-black 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>
<div class="text-black text-lg font-bold mb-0">{{ u.procoins }}</div>
<small class="block font-bold text-gray-500">MarseyBux</small>
</li>
{% endif %}
@ -220,32 +220,34 @@
{% endblock %}
{% block subHeader2 %}
<div class="w-full md:px-4 sticky top-0 z-10">
<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 'comments' 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>
{% if u.id == v.id %}
<li>
<a class="{{ 'font-bold text-red-600' if 'saved/posts' in request.full_path else 'text-gray-700' }}" href="/@{{u.username}}/saved/posts">
Saved Posts
</a>
</li>
<li>
<a class="{{ 'font-bold text-red-600' if 'saved/comments' in request.full_path else 'text-gray-700' }}" href="/@{{u.username}}/saved/comments">
Saved Comments
</a>
</li>
{% endif %}
</ul>
<div class="md:px-4 sticky top-0 z-20">
<div class="max-w-screen-2xl mx-auto">
<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 'comments' 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>
{% if u.id == v.id %}
<li>
<a class="{{ 'font-bold text-red-600' if 'saved/posts' in request.full_path else 'text-gray-700' }}" href="/@{{u.username}}/saved/posts">
Saved Posts
</a>
</li>
<li>
<a class="{{ 'font-bold text-red-600' if 'saved/comments' in request.full_path else 'text-gray-700' }}" href="/@{{u.username}}/saved/comments">
Saved Comments
</a>
</li>
{% endif %}
</ul>
</div>
</div>
</div>
{% endblock %}
@ -325,6 +327,12 @@
{% endif %}
</div>
</div>
{% if u.song and v and v.mute and not u.unmutable %}
<a id="pause1" class="btn btn-secondary" href="javascript:void(0)" onclick="pause()">Pause anthem</a>
<a id="play1" class="btn btn-secondary hidden" href="javascript:void(0)" onclick="play()">Play anthem</a>
{% endif %}
{% endblock %}
{% block sidebar %}
@ -385,28 +393,28 @@
{% if u.song %}
<script>
window.addEventListener("load",function(event) {
var audio = new Audio('/songs/{{u.id}}');
audio.loop=true;
const uid = {{ u.id }}
{% 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");
}
let audio = new Audio(`/songs/${uid}`);
audio.loop=true;
function play() {
audio.play();
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 %}
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");
}
function play() {
audio.play();
document.getElementById("pause1").classList.toggle("hidden");
document.getElementById("play1").classList.toggle("hidden");
document.getElementById("pause2").classList.toggle("hidden");
document.getElementById("play2").classList.toggle("hidden");
}
window.addEventListener('load', (e) => {
audio.play();
document.getElementById('userpage').addEventListener('click', () => {
if (audio.paused) audio.play();

View File

@ -26,7 +26,7 @@
{% block content %}
<div class="col-span-full xl:col-span-9">
<div class="col-span-full xl:col-span-9 px-2.5 md:px-0">
<div class="sm:py-4 my-2.5 sm:my-0">
{% if not "saved" in request.full_path %}
<div class="flex justify-end md:justify-start mb-3 md:m-0 px-2.5 md:px-0">

View File

@ -1,28 +1,25 @@
{% extends "default.html" %}
{% block content %}
<pre>
</pre>
<h5 style="text-align: center">{{name2}}</h5>
<pre></pre>
<table class="table table-striped mb-5">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
<th style="font-weight: bold">Name</th>
<th style="font-weight: bold">{{name}}votes</th>
</tr>
</thead>
<tbody id="followers-table">
{% for user in users %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img loading="lazy" src="/uid/{{user[0].id}}/pic" class="pp20"><span {% if user[0].patron %}class="patron" style="background-color:#{{user[0].namecolor}};"{% endif %}>{{user[0].username}}</span></a></td>
<td style="font-weight: bold">{{user[1]}}</td>
</tr>
{% endfor %}
</tbody>
</table>
<div class="col-span-full my-4">
<h5 style="text-align: center">{{name2}}</h5>
<pre></pre>
<table class="w-full table table-striped mb-5">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
<th style="font-weight: bold">Name</th>
<th style="font-weight: bold">{{name}}votes</th>
</tr>
</thead>
<tbody id="followers-table">
{% for user in users %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img loading="lazy" src="/uid/{{user[0].id}}/pic" class="pp20"><span {% if user[0].patron %}class="patron" style="background-color:#{{user[0].namecolor}};"{% endif %}>{{user[0].username}}</span></a></td>
<td style="font-weight: bold">{{user[1]}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}