This commit is contained in:
Aevann1 2022-01-03 12:32:31 +02:00
parent bd02a2cb03
commit a34b359df0
43 changed files with 216 additions and 151 deletions

View file

@ -2694,6 +2694,11 @@ pre {
.text-small {
font-size: 12px !important;
}
@media (max-width: 767.98px) {
.text-small-mobile {
font-size: 12px !important;
}
}
.text-small-extra {
font-size: 10.1px !important;
}

View file

@ -29,8 +29,8 @@ const EMOJIS_STRINGS = [
"marseydead": {"author":"anton-d", "tags":"murdered dead killed reaction victim die rip"},
"marseyparty": {"author":"anton-d", "tags":"excite excitement celebrate happy celebrating"},
"marseyrain": {"author":"anton-d", "tags":"cloud upset reaction disappointed storm depressed sad"},
"marseyagree": {"author":"unknown", "tags":"concur nodding nod reaction affirmative yes yeah uh huh animated judgment"},
"marseydisagree": {"author":"unknown", "tags":"nah uh nod nuh uh reaction wrong no way no negative animated judgment"},
"marseyagree": {"author":"mom", "tags":"concur nodding nod reaction affirmative yes yeah uh huh animated judgment"},
"marseydisagree": {"author":"mom", "tags":"nah uh nod nuh uh reaction wrong no way no negative animated judgment"},
"marseyjam": {"author":"tejanx", "tags":"animated bopping excited trippy excitement tejanx dancing rainbow rave happy dance"},
"marseygasp": {"author":"gigavaccinator", "tags":"wow woah what how why whoa reaction appalled"},
"marseytwerking": {"author":"john", "tags":"tailspin animated butt backside dancing spin booty ass dance"},
@ -48,7 +48,7 @@ const EMOJIS_STRINGS = [
"marseygigaretard": {"author":"chapose", "tags":"idiot neurodivergent dumb stupid drooling moron puddle"},
"marseysneed": {"author":"unknown", "tags":"feed farmer reaction chuck simpsons"},
"marseybaited": {"author":"dramarama", "tags":"laser pointer trolled gullible reaction animated"},
"marseyeyeroll": {"author":"unknown", "tags":"rolleyes rolling eyes mock animated reaction roll eyes duh"},
"marseyeyeroll": {"author":"mom", "tags":"rolleyes rolling eyes mock animated reaction roll eyes duh"},
"marseydepressed": {"author":"kellere31", "tags":"smoke kms doomer cigarette despair reaction depression suicide suicidal smoking hopeless sad"},
"marseypat": {"author":"unknown", "tags":"petting reaction animated cute patting"},
"marseyking": {"author":"soren", "tags":"based queen prince reaction crown princess"},
@ -261,7 +261,7 @@ const EMOJIS_STRINGS = [
"marseybong": {"author":"altaccountumbreon", "tags":"england walkers britain english chips british bad teeth crisps"},
"marseybooba": {"author":"unknown", "tags":"awooga tits titties boobs eyes animated tiddies"},
"marseyboomer": {"author":"unknown", "tags":"sipping shades sunglasses old yup vape"},
"marseybountyhunter": {"author":"unknown", "tags":"abortion leather vest cowboy gunslinger texas revolver"},
"marseybountyhunter": {"author":"mom", "tags":"abortion leather vest cowboy gunslinger texas revolver"},
"marseybowl": {"author":"unknown", "tags":"marijuana weed dude weed lmao ganja drugs reaction pot pipe"},
"marseybrainlet": {"author":"john", "tags":"idiot imbecile smoothbrain crushed head retard caved in head sped dumb stupid drooling moron"},
"marseybrap": {"author":"threeletteragent", "tags":"brap sniff smell huff gas fart animated"},
@ -287,7 +287,7 @@ const EMOJIS_STRINGS = [
"marseycapypat": {"author":"dramarama", "tags":"petting capybara aevann animated patting"},
"marseycapywalking": {"author":"dramarama", "tags":"capybara animated aevann"},
"marseycarp": {"author":"frozenchosen", "tags":"beard mohawk reaction carpathianflorist monster"},
"marseycarp2": {"author":"unknown", "tags":"harm cutting selfharm cutter reaction carpathianflorist self animated"},
"marseycarp2": {"author":"mom", "tags":"harm cutting selfharm cutter reaction carpathianflorist self animated"},
"marseycarp3": {"author":"chapose", "tags":"reaction fish carpathianflorist catfish"},
"marseycarpcrying": {"author":"chapose", "tags":"tear reaction carpathianflorist fish sob tears sad"},
"marseycarppat": {"author":"unknown", "tags":"petting carpathianflorist fish animated patting"},
@ -315,8 +315,8 @@ const EMOJIS_STRINGS = [
"marseyclapping": {"author":"unknown", "tags":"good job animated good work reaction great job well done applaud applause great work nice celebrate approve judgment"},
"marseycleonpeterson": {"author":"chiobu", "tags":"wtf scary art"},
"marseyclown": {"author":"unknown", "tags":"makeup joker"},
"marseyclown2": {"author":"unknown", "tags":"joker"},
"marseyclown3": {"author":"unknown", "tags":"unicycle animated"},
"marseyclown2": {"author":"mom", "tags":"joker"},
"marseyclown3": {"author":"mom", "tags":"unicycle animated"},
"marseycoal": {"author":"dramamine", "tags":"christmas naughty santa cigarette present gift holiday doom"},
"marseycoin": {"author":"dramarama", "tags":"dramacoin money dc spinning rich payment gold dinero animated dollars"},
"marseycolossal": {"author":"chiobu", "tags":"halloween skin holiday scary mouths"},
@ -331,20 +331,20 @@ const EMOJIS_STRINGS = [
"marseycoonass": {"author":"chapodestroyer", "tags":"student lsu university louisana state"},
"marseycop": {"author":"sylveon", "tags":"acab thin blue line chauvin police officer"},
"marseycopeseethedilate": {"author":"altaccountumbreon", "tags":"dilate seethe coping seething reaction angry mad dilating cope malding"},
"marseycorn": {"author":"unknown", "tags":"iowa vegetable"},
"marseycountryclub": {"author":"unknown", "tags":"golfer elite rich golfing cc elitist preppy"},
"marseycorn": {"author":"mom", "tags":"iowa vegetable"},
"marseycountryclub": {"author":"mom", "tags":"golfer elite rich golfing cc elitist preppy"},
"marseycow": {"author":"chiobu", "tags":"cow fursona skin animal costume furry heifer fursuit"},
"marseycowboy": {"author":"unknown", "tags":"western pardner reaction hat tootin yeehaw rootin"},
"marseycreepy": {"author":"chapose", "tags":"pervert pedophile weird reaction chomo creeper sketchy molester"},
"marseycrucified": {"author":"jesus", "tags":"christ crucifix cross christian"},
"marseycrusader": {"author":"dramarama", "tags":"knight deusvult templar crusades catholic"},
"marseycrying": {"author":"unknown", "tags":"tear cried despair weeping reaction depression sob tears sadness depressed animated sad"},
"marseycrying": {"author":"mom", "tags":"tear cried despair weeping reaction depression sob tears sadness depressed animated sad"},
"marseycthulhu": {"author":"feynmandidnothingwrong", "tags":"horror halloween lovecraftian holiday eldritch evil scary monster"},
"marseycuck": {"author":"chapose", "tags":"soyboy funko redditor neckbeard loser"},
"marseycumjar1": {"author":"drama_enthusiast", "tags":"semen jizz sperm spunk bukkake"},
"marseycumjar2": {"author":"drama_enthusiast", "tags":"semen jizz sperm spunk bukkake"},
"marseycumjar3": {"author":"drama_enthusiast", "tags":"semen jizz sperm spunk bukkake"},
"marseycut": {"author":"unknown", "tags":"cutting selfharm emo self harm cutter reaction depressed"},
"marseycut": {"author":"mom", "tags":"cutting selfharm emo self harm cutter reaction depressed"},
"marseycwc": {"author":"dramamine", "tags":"sonichu chan chris chan chandler sweater chrischan medallion striped chris"},
"marseydab": {"author":"dramarama", "tags":"reaction haters"},
"marseydaemon": {"author":"unknown", "tags":"pitchfork hell halloween demon satan devil scary holiday"},
@ -417,7 +417,7 @@ const EMOJIS_STRINGS = [
"marseyfug": {"author":"unknown", "tags":"benis mustache snallygaster meme"},
"marseyfunko": {"author":"john", "tags":"action figure doll funko toy soy"},
"marseyfurry": {"author":"altaccountumbreon", "tags":"fursona furry fursuit kitsune"},
"marseygandalf": {"author":"unknown", "tags":"lord of the rings magic lotr mage wizard warlock"},
"marseygandalf": {"author":"mom", "tags":"lord of the rings magic lotr mage wizard warlock"},
"marseygarfield": {"author":"soren", "tags":"mondays lasagna"},
"marseyghost": {"author":"cantwakeupjpg", "tags":"spooky halloween costume holiday scary sheet"},
"marseygift": {"author":"unknown", "tags":"present christmas wrapping paper holiday"},
@ -428,7 +428,7 @@ const EMOJIS_STRINGS = [
"marseyglaceon": {"author":"sylveon", "tags":"trick or treat pokemon halloween eevee costume holiday"},
"marseyglaceonpat": {"author":"sylveon", "tags":"trick or treat pokemon petting halloween eevee reaction costume holiday animated patting"},
"marseyglam": {"author":"unknown", "tags":"rocker pretty glamorous beautiful"},
"marseyglancing": {"author":"unknown", "tags":"eyes animated nervous paranoid"},
"marseyglancing": {"author":"mom", "tags":"eyes animated nervous paranoid"},
"marseyglow2": {"author":"threeletteragent", "tags":"fbi mossad feds agent glownigger reaction glowie fed atf cia nsa"},
"marseyglowaward": {"author":"unknown", "tags":"medal fbi ribbon animated glownigger retard glowie fed atf cia nsa"},
"marseygodel": {"author":"feynmandidnothingwrong", "tags":"old philosophy glasses history"},
@ -449,7 +449,7 @@ const EMOJIS_STRINGS = [
"marseyhappening": {"author":"dramamine", "tags":"ronpaul happening it ron paul itshappening animated"},
"marseyhappy": {"author":"unknown", "tags":"pleased contented reaction contentment satisfied"},
"marseyhappytears": {"author":"dramarama", "tags":"tears of joy crying"},
"marseyhead": {"author":"unknown", "tags":"blood spurting headless horror halloween animated"},
"marseyhead": {"author":"mom", "tags":"blood spurting headless horror halloween animated"},
"marseyhealthy": {"author":"altaccountumbreon", "tags":"burger king fat fast food crown unhealthy junk food american"},
"marseyheathcliff": {"author":"soren", "tags":"heathecliff"},
"marseyheavymetal": {"author":"feynmandidnothingwrong", "tags":"rocker musician rock guitar"},
@ -480,7 +480,7 @@ const EMOJIS_STRINGS = [
"marseyjesus": {"author":"dramarama", "tags":"christian"},
"marseyjiangshi": {"author":"dramarama", "tags":"ghost chinese halloween holiday china scary"},
"marseyjohnson": {"author":"feynmandidnothingwrong", "tags":"wig history"},
"marseyjoint": {"author":"unknown", "tags":"smoke weed marijuana reefer drugs smoking 420 pot"},
"marseyjoint": {"author":"mom", "tags":"smoke weed marijuana reefer drugs smoking 420 pot"},
"marseyjolteon": {"author":"sylveon", "tags":"trick or treat pokemon halloween eevee costume holiday"},
"marseyjolteonpat": {"author":"chiobu", "tags":"trick or treat pokemon petting halloween eevee reaction costume holiday animated patting"},
"marseyjones": {"author":"dramamine", "tags":"tinfoil animated alex gay frogs conspiracy"},
@ -574,7 +574,7 @@ const EMOJIS_STRINGS = [
"marseynoyouglow": {"author":"unknown", "tags":"fbi no u animated feds glowies glowniggers atf cia nsa"},
"marseynpc": {"author":"unknown", "tags":"sheeple"},
"marseynpc2": {"author":"chapose", "tags":"reaction idiot sheep"},
"marseynun": {"author":"unknown", "tags":"habit catholic"},
"marseynun": {"author":"mom", "tags":"habit catholic"},
"marseynut": {"author":"unknown", "tags":"orgasm ahegao cum reaction coom"},
"marseynyan": {"author":"chiobu", "tags":"space animated meme poptart"},
"marseyobese": {"author":"chiobu", "tags":"fat chonker bbw chonk chunky pig lorg"},
@ -589,7 +589,7 @@ const EMOJIS_STRINGS = [
"marseyowow": {"author":"chapose", "tags":"reaction excited owo"},
"marseypaint": {"author":"crabby_cummy", "tags":"low effort art"},
"marseypainter": {"author":"saveusuncleted", "tags":"palet reaction pallet paintbrush paints artist pallette"},
"marseypanda": {"author":"unknown", "tags":"red panda bear happy redpanda"},
"marseypanda": {"author":"mom", "tags":"red panda bear happy redpanda"},
"marseypanda2": {"author":"chiobu", "tags":"panda bear fursona skin animal costume furry fursuit"},
"marseypanties": {"author":"unknown", "tags":"reaction underwear panty pantsu"},
"marseyparty1": {"author":"chiobu", "tags":"trippy animated happy dance"},
@ -599,7 +599,7 @@ const EMOJIS_STRINGS = [
"marseypeacekeeper": {"author":"above______below", "tags":"united nations un rifle helmet gun"},
"marseypearlclutch": {"author":"dramamine", "tags":"sensitive reaction snowflake puritanical gasp sjw"},
"marseypearlclutch2": {"author":"altaccountumbreon", "tags":"sensitive reaction snowflake puritanical gasp sjw"},
"marseypedo": {"author":"unknown", "tags":"libertarian borpa male feminist discord pedophile groomer chomo lolbert toucher"},
"marseypedo": {"author":"mom", "tags":"libertarian borpa male feminist discord pedophile groomer chomo lolbert toucher"},
"marseypedobear": {"author":"chiobu", "tags":"groomer molest nonce"},
"marseypenguin": {"author":"grizzly", "tags":"bird linux puffin"},
"marseypepe": {"author":"unknown", "tags":"ok rightoid mellokind frog reaction"},
@ -641,7 +641,7 @@ const EMOJIS_STRINGS = [
"marseyprotestno": {"author":"chapose", "tags":"sign protester refuse reaction deny reject"},
"marseyprotestyes": {"author":"chapose", "tags":"agree sign protester reaction approve"},
"marseypsycho": {"author":"seal_ion", "tags":"reaction schizo crazy"},
"marseypuke": {"author":"unknown", "tags":"hurl throw up gross animated illness vomit nauseated reaction upchuck nauseous sickening yuck barf ralph judgment"},
"marseypuke": {"author":"mom", "tags":"hurl throw up gross animated illness vomit nauseated reaction upchuck nauseous sickening yuck barf ralph judgment"},
"marseypumpkin": {"author":"dramamine", "tags":"jackolantern carving halloween holiday jack o lantern"},
"marseypumpkin2": {"author":"unknown", "tags":"jackolantern carving halloween holiday jack o lantern"},
"marseypumpkin3": {"author":"unknown", "tags":"witch jackolantern carving halloween holiday jack o lantern"},
@ -649,12 +649,12 @@ const EMOJIS_STRINGS = [
"marseypumpkincloak": {"author":"unknown", "tags":"costume halloween holiday"},
"marseypumpking": {"author":"dramarama", "tags":"jackolantern jack o lantern halloween holiday"},
"marseypumpkinglow": {"author":"chiobu", "tags":"halloween drama holiday jack o lantern animated"},
"marseypunching": {"author":"unknown", "tags":"battle squaring up hit square up boxer fight throwdown reaction boxing fistfight fighting"},
"marseypunching": {"author":"mom", "tags":"battle squaring up hit square up boxer fight throwdown reaction boxing fistfight fighting"},
"marseypunisher": {"author":"unknown", "tags":"thin blue line rightoid police cops"},
"marseyqoomer": {"author":"geese_suck", "tags":"shaman viking qanon jan6 capitol january6"},
"marseyquadmagyar": {"author":"fartbinn", "tags":"bow and arrow hungary hungarian archery bowman quadnarca"},
"marseyqueen": {"author":"unknown", "tags":"england bong english british elizabeth"},
"marseyqueenlizard": {"author":"unknown", "tags":"england bong english british reptilian elizabeth"},
"marseyqueen": {"author":"mom", "tags":"england bong english british elizabeth"},
"marseyqueenlizard": {"author":"mom", "tags":"england bong english british reptilian elizabeth"},
"marseyracist": {"author":"altaccountumbreon", "tags":"racing vroom racecar bigot reaction"},
"marseyracistgrandpa": {"author":"altaccountumbreon", "tags":"thanksgiving fuck nigger holiday"},
"marseyradioactive": {"author":"above______below", "tags":"nuclear waste chernobyl radiation geiger"},
@ -662,7 +662,7 @@ const EMOJIS_STRINGS = [
"marseyraging": {"author":"dramamine", "tags":"rage angry mad fury animated"},
"marseyramen": {"author":"chiobu", "tags":"eating noodles food bowl animated soup"},
"marseyrare": {"author":"unknown", "tags":"kangaroo wtf"},
"marseyrasta": {"author":"unknown", "tags":"marijuana weed dude weed lmao ganja drugs pot reggae joint jamaican"},
"marseyrasta": {"author":"mom", "tags":"marijuana weed dude weed lmao ganja drugs pot reggae joint jamaican"},
"marseyrat": {"author":"chapose", "tags":"rodent black"},
"marseyrave": {"author":"dramarama", "tags":"dead animated party death sandstorm darude crab dance"},
"marseyreading": {"author":"unknown", "tags":"study homework learn nerd novel reaction book"},
@ -723,7 +723,7 @@ const EMOJIS_STRINGS = [
"marseyskeletor": {"author":"soren", "tags":"skeleton mask heman 80s man halloween he man cartooon he holiday"},
"marseysmirk": {"author":"unknown", "tags":"reaction snicker trolling lol"},
"marseysmoothbrain": {"author":"chapose", "tags":"idiot big brain brainlet retard reaction fool dumbass moron"},
"marseysmudge": {"author":"unknown", "tags":"diogenesjr diogenesjunior meme"},
"marseysmudge": {"author":"mom", "tags":"diogenesjr diogenesjunior meme"},
"marseysmug": {"author":"kellere31", "tags":"reaction superior haha"},
"marseysmug2": {"author":"dramarama", "tags":"snicker scoff mock reaction guffaw ridicule judgment"},
"marseysmug3": {"author":"dramarama", "tags":"reaction yikes judgment oof cringe"},
@ -740,7 +740,7 @@ const EMOJIS_STRINGS = [
"marseyspider": {"author":"drama_enthusiast", "tags":"insect halloween arachnid holiday bug"},
"marseyspider2": {"author":"skabadabadoo", "tags":"insect halloween spiderweb arachnid holiday bug"},
"marseyspirit": {"author":"unknown", "tags":"ghost halloween holiday"},
"marseyspit": {"author":"unknown", "tags":"surprising reaction shocking water surprised shocked"},
"marseyspit": {"author":"mom", "tags":"surprising reaction shocking water surprised shocked"},
"marseyspooky": {"author":"dramarama", "tags":"art horror halloween holiday evil scary monster lovecraftian eldritch"},
"marseyspookysmile": {"author":"unknown", "tags":"horror halloween holiday evil scary monster"},
"marseysrdine": {"author":"saveusuncleted", "tags":"fisherman reaction fish canned fishing"},
@ -820,7 +820,7 @@ const EMOJIS_STRINGS = [
"marseywheredrama2": {"author":"chiobu", "tags":"seriouspost animated agendapost"},
"marseywhirlyhat": {"author":"unknown", "tags":"idiot retard hat dumb sped slow stupid special kid"},
"marseywinner": {"author":"dramamine", "tags":"reaction trophy gold prize first place"},
"marseywise": {"author":"unknown", "tags":"hood cloak wizard pipe"},
"marseywise": {"author":"mom", "tags":"hood cloak wizard pipe"},
"marseywitch": {"author":"fartbinn", "tags":"spooky halloween magick holiday evil scary"},
"marseywitch2": {"author":"unknown", "tags":"tranny troomer penny wvp feminist halloween bardfinn groomer magick troid steve monster"},
"marseywitch3": {"author":"unknown", "tags":"flying broomstick wave halloween wizard holiday"},

View file

@ -0,0 +1,36 @@
function sort_table(n) {
var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
table = document.getElementById("sortable_table");
switching = true;
dir = "asc";
while (switching) {
switching = false;
rows = table.rows;
for (i = 1; i < (rows.length - 1); i++) {
shouldSwitch = false;
x = rows[i].getElementsByTagName("TD")[n];
y = rows[i + 1].getElementsByTagName("TD")[n];
if (dir == "asc") {
if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
shouldSwitch = true;
break;
}
} else if (dir == "desc") {
if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
shouldSwitch = true;
break;
}
}
}
if (shouldSwitch) {
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
switching = true;
switchcount ++;
} else {
if (switchcount == 0 && dir == "asc") {
dir = "desc";
switching = true;
}
}
}
}

View file

@ -27,6 +27,33 @@ if SITE_NAME == 'PCM': cc = "splash mountain"
else: cc = "country club"
month = datetime.now().strftime('%B')
@app.post("/@<username>/make_admin")
@limiter.limit("1/second")
@admin_level_required(3)
@validate_formkey
def make_admin(v, username):
if request.host == 'rdrama.net': abort(403)
user = get_user(username)
if not user: abort(404)
user.admin_level = 2
g.db.add(user)
g.db.commit()
return {"message": "User has been made admin!"}
@app.post("/@<username>/remove_admin")
@limiter.limit("1/second")
@admin_level_required(3)
@validate_formkey
def remove_admin(v, username):
if request.host == 'rdrama.net': abort(403)
user = get_user(username)
if not user: abort(404)
user.admin_level = 0
g.db.add(user)
g.db.commit()
return {"message": "Admin removed!"}
@app.get("/admin/grassed")
@admin_level_required(2)
@ -258,12 +285,11 @@ def shadowbanned(v):
users = [x for x in g.db.query(User).filter(User.shadowbanned != None).all()]
if not v or v.oldsite: template = ''
else: template = 'CHRISTMAS/'
return render_template(f"{template}shadowbanned.html", v=v, users=users)
return render_template(f"{template}admin/shadowbanned.html", v=v, users=users)
@app.get("/admin/agendaposters")
@auth_required
@app.get("/agendaposters")
@auth_desired
def agendaposters(v):
if not (v and v.admin_level > 1): abort(404)
users = [x for x in g.db.query(User).filter_by(agendaposter = True).all()]
if not v or v.oldsite: template = ''
else: template = 'CHRISTMAS/'
@ -404,8 +430,9 @@ def badge_grant_post(v):
g.db.add(new_badge)
text = f"@{v.username} has given you the following profile badge:\n\n![]({new_badge.path})\n\n{new_badge.name}"
send_notification(user.id, text)
if v.id != user.id:
text = f"@{v.username} has given you the following profile badge:\n\n![]({new_badge.path})\n\n{new_badge.name}"
send_notification(user.id, text)
g.db.commit()
return render_template(f"{template}admin/badge_grant.html", v=v, badge_types=BADGES, msg="Badge granted!")

View file

@ -213,12 +213,11 @@ def award_post(pid, v):
post_award.submission_id = post.id
g.db.add(post_award)
msg = f"@{v.username} has given your [post]({post.permalink}) the {AWARDS[kind]['title']} Award!"
note = request.values.get("note", "").strip()
if note: msg += f"\n\n> {note}"
send_repeatable_notification(post.author.id, msg)
if v.id != post.author.id:
msg = f"@{v.username} has given your [post]({post.permalink}) the {AWARDS[kind]['title']} Award!"
note = request.values.get("note", "").strip()
if note: msg += f"\n\n> {note}"
send_repeatable_notification(post.author.id, msg)
author = post.author
if kind == "ban":
@ -379,12 +378,12 @@ def award_comment(cid, v):
comment_award.comment_id = c.id
g.db.add(comment_award)
msg = f"@{v.username} has given your [comment]({c.permalink}) the {AWARDS[kind]['title']} Award!"
if v.id != c.author.id:
msg = f"@{v.username} has given your [comment]({c.permalink}) the {AWARDS[kind]['title']} Award!"
note = request.values.get("note", "").strip()
if note: msg += f"\n\n> {note}"
send_repeatable_notification(c.author.id, msg)
note = request.values.get("note", "").strip()
if note: msg += f"\n\n> {note}"
send_repeatable_notification(c.author.id, msg)
author = c.author
if kind == "ban":
@ -554,12 +553,11 @@ def admin_userawards_post(v):
g.db.add(award)
text = "You were given the following awards:\n\n"
for key, value in notify_awards.items():
text += f" - **{value}** {AWARDS[key]['title']} {'Awards' if value != 1 else 'Award'}\n"
send_repeatable_notification(u.id, text)
if v.id != u.id:
text = "You were given the following awards:\n\n"
for key, value in notify_awards.items():
text += f" - **{value}** {AWARDS[key]['title']} {'Awards' if value != 1 else 'Award'}\n"
send_repeatable_notification(u.id, text)
note = ""

View file

@ -389,8 +389,6 @@ def get_reset():
user_id = request.values.get("id")
if user_id == PW_ID: abort(403)
timestamp = int(request.values.get("time",0))
token = request.values.get("token")
@ -426,8 +424,6 @@ def post_reset(v):
user_id = request.values.get("user_id")
if user_id == PW_ID: abort(403)
timestamp = int(request.values.get("time"))
token = request.values.get("token")

View file

@ -580,8 +580,6 @@ def verifiedcolor(v):
@validate_formkey
def settings_security_post(v):
if request.values.get("new_password"):
if v.id == PW_ID: abort(403)
if request.values.get("new_password") != request.values.get("cnf_password"):
return render_template("settings_security.html", v=v, error="Passwords do not match.")
@ -633,8 +631,6 @@ def settings_security_post(v):
return render_template("settings_security.html", v=v, error="Check your email and click the verification link to complete the email change.")
if request.values.get("2fa_token"):
if v.id == PW_ID: abort(403)
if not v.verifyPass(request.values.get('password')):
return render_template("settings_security.html", v=v, error="Invalid password or token.")

View file

@ -41,7 +41,8 @@ def participation_stats(v):
day = now - 86400
data = {"valid_users": g.db.query(User.id).count(),
data = {"marseys": len(marseys),
"valid_users": g.db.query(User.id).count(),
"private_users": g.db.query(User.id).filter_by(is_private=True).count(),
"banned_users": g.db.query(User.id).filter(User.is_banned > 0).count(),
"verified_email_users": g.db.query(User.id).filter_by(is_activated=True).count(),
@ -102,10 +103,10 @@ def cached_chart(days):
if days > 31:
file = "/weekly_chart.png"
day_cutoffs = [today_cutoff - 86400 * 7 * i for i in range(31)][1:]
day_cutoffs = [today_cutoff - 86400 * 7 * i for i in range(35)][1:]
else:
file = "/daily_chart.png"
day_cutoffs = [today_cutoff - 86400 * i for i in range(31)][1:]
day_cutoffs = [today_cutoff - 86400 * i for i in range(35)][1:]
day_cutoffs.insert(0, calendar.timegm(now))

View file

@ -27,7 +27,7 @@
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th></th>

View file

@ -10,7 +10,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">Domain</th>

View file

@ -7,7 +7,7 @@
{% block content %}
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Statistic</th>

View file

@ -1,18 +1,20 @@
{% extends "settings2.html" %}
{% block content %}
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<script src="/static/assets/js/sort_table.js?a=2"></script>
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<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;">Shadowbanned by</th>
<th onclick="sort_table(1)" style="font-weight:bold;">Name</th>
<th onclick="sort_table(2)" style="font-weight:bold;">Shadowbanned by</th>
</tr>
</thead>
{% for user in users %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold;">{{user.shadowbanned}}</td>
</tr>
{% endfor %}

View file

@ -3,22 +3,26 @@
{% block pagetitle %}Admins{% endblock %}
{% block content %}
<script src="/static/assets/js/sort_table.js?a=2"></script>
<pre class="d-none d-md-inline-block"></pre>
<h5 style="font-weight:bold;">Admins</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto">
<table id="sortable_table" class="table table-striped mb-5 text-small-mobile">
<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; text-align:right;">Truescore</th>
<th style="font-weight:bold; text-align:right;">Mod actions</th>
<th role="button" onclick="sort_table(1)" style="font-weight:bold;">Name</th>
<th role="button" onclick="sort_table(2)" style="font-weight:bold; text-align:right;">Truescore</th>
<th role="button" onclick="sort_table(3)" style="font-weight:bold; text-align:right;">Mod actions</th>
</tr>
</thead>
{% for user in admins %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}};font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>{% if user.admin_level == 1 and v and v.admin_level > 1 %}<i class="fas fa-broom align-middle ml-2 color-white" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Meme Admin"></i>{% endif %}</td>
<td><a style="color:#{{user.namecolor}};font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>{% if user.admin_level == 1 and v and v.admin_level > 1 %}<i class="fas fa-broom align-middle ml-2 color-white" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Meme Admin"></i>{% endif %}</td>
<td style="font-weight:bold; text-align:right;">{{user.truecoins}}</td>
<td style="font-weight:bold; text-align:right;">{{user.modaction_num}}</td>
</tr>

View file

@ -1,7 +1,7 @@
{% extends "settings2.html" %}
{% block content %}
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -11,7 +11,7 @@
{% for user in users %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
</tr>
{% endfor %}
</table>

View file

@ -15,7 +15,7 @@
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% if v.agendaposter %}
<style>
html {
@ -39,7 +39,7 @@
{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
{% endif %}
</head>

View file

@ -10,7 +10,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Name</th>

View file

@ -1,7 +1,7 @@
{% extends "settings2.html" %}
{% block content %}
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -13,9 +13,9 @@
{% for user in users %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold;">{% if user.ban_reason %}{{user.ban_reason}}{% endif %}</td>
<td style="font-weight:bold;" href="/@{{user.banned_by.username}}"><img alt="@{{user.banned_by.username}}'s profile picture" loading="lazy" src="/uid/{{user.banned_by.id}}/pic" class="pp20"><span {% if user.banned_by.patron %}class="patron" style="background-color:#{{user.banned_by.namecolor}};"{% endif %}>{{user.banned_by.username}}</span></a></td>
<td style="font-weight:bold;" href="/@{{user.banned_by.username}}"><img alt="@{{user.banned_by.username}}'s profile picture" loading="lazy" src="/uid/{{user.banned_by.id}}/pic" class="pp20"><span {% if user.banned_by.patron %}class="patron" style="background-color:#{{user.banned_by.namecolor}}"{% endif %}>{{user.banned_by.username}}</span></a></td>
</tr>
{% endfor %}
</table>

View file

@ -5,7 +5,7 @@
{% block content %}
<h1> Blocks</h1>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">User</th>
@ -14,8 +14,8 @@
</thead>
{% for user in users %}
<tr>
<td><a style="font-weight:bold;color:#{{user.namecolor}}; " href="/@{{user.username}}"><span {% if user.patron %}class="patron" style="background-color:#{{user.namecolor}};"{% endif %}>{{user.username}}</span></a></td>
<td><a style="font-weight:bold;color:#{{targets[loop.index-1].namecolor}}; " href="/@{{targets[loop.index-1].username}}"><span {% if targets[loop.index-1].patron %}class="patron" style="background-color:#{{targets[loop.index-1].namecolor}};"{% endif %}>{{targets[loop.index-1].username}}</span></a></td>
<td><a style="font-weight:bold;color:#{{user.namecolor}}; " href="/@{{user.username}}"><span {% if user.patron %}class="patron" style="background-color:#{{user.namecolor}}"{% endif %}>{{user.username}}</span></a></td>
<td><a style="font-weight:bold;color:#{{targets[loop.index-1].namecolor}}; " href="/@{{targets[loop.index-1].username}}"><span {% if targets[loop.index-1].patron %}class="patron" style="background-color:#{{targets[loop.index-1].namecolor}}"{% endif %}>{{targets[loop.index-1].username}}</span></a></td>
</tr>
{% endfor %}
</table>

View file

@ -7,7 +7,7 @@
<script src="/static/assets/js/bootstrap.js?a=3"></script>
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60">
<link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% if v.agendaposter %}
<style>
@ -32,7 +32,7 @@
{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
{% endif %}
<meta charset="utf-8">

View file

@ -80,7 +80,7 @@
</div>
</div>
<script src="/static/assets/js/emoji_modal.js?a=17"></script>
<script src="/static/assets/js/emoji_modal.js?a=18"></script>
<style>
a.emojitab {

View file

@ -7,7 +7,7 @@
</pre>
<h5>@{{u.username}}'s followers</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -21,7 +21,7 @@
{% for user in users %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
{% endif %}

View file

@ -7,7 +7,7 @@
</pre>
<h5>Users followed by @{{u.username}}</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -21,7 +21,7 @@
{% for user in users %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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" onclick="removeFollowing(event, '{{user.username}}')">Unfollow</div></td>
{% endif %}

View file

@ -17,7 +17,7 @@ You can use Markdown formatting:
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Name</th>
@ -159,7 +159,7 @@ And we allow custom HTML in most places:
<h4>Allowed Tags</h4>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Name</th>
@ -453,7 +453,7 @@ line breaks
<h4>Allowed Attributes</h4>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Name</th>
@ -489,7 +489,7 @@ line breaks
<h5>Allowed Styles</h5>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th>Name</th>

View file

@ -1,7 +1,7 @@
{% extends "settings2.html" %}
{% block content %}
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -12,7 +12,7 @@
{% for user in users %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold;">{{user.ban_reason.split('by ')[1]}}</td>
</tr>
{% endfor %}

View file

@ -94,7 +94,7 @@
<div class="d-flex">
<div><img alt="your profile picture" loading="lazy" src="{{v.profile_url}}" class="profile-pic-35"></div>
<div class="text-left pl-2">
<div style="color: #{{v.namecolor}}" class="text-small font-weight-bold {% if v.patron %}patron{% endif %}"><span {% if v.patron %}class="patron" style="background-color:#{{v.namecolor}};"{% endif %}>{{v.username}}</span></div>
<div style="color: #{{v.namecolor}}" class="text-small font-weight-bold {% if v.patron %}patron{% endif %}"><span {% if v.patron %}class="patron" style="background-color:#{{v.namecolor}}"{% endif %}>{{v.username}}</span></div>
<div class="text-small-extra text-primary"><img alt="{{'COINS_NAME' | app_config}}" class="mr-1 ml-1" data-bs-toggle="tooltip" data-bs-placement="bottom" height="13" src="/static/assets/images/emojis/marseycoin.webp" data-bs-original-title="{{'COINS_NAME' | app_config}}" aria-label="{{'COINS_NAME' | app_config}}"><span id="user-coins-amount">{{v.coins}}</span> {{'COINS_NAME' | app_config}}</div>
<div class="text-small-extra text-primary"><img alt="marseybux" class="mr-1 ml-1" data-bs-toggle="tooltip" data-bs-placement="bottom" height="13" src="/static/assets/images/emojis/marseybux.webp" data-bs-original-title="Marseybux" aria-label="Marseybux"><span id="user-bux-amount">{{v.procoins}}</span> Marseybux</div>
</div>

View file

@ -6,7 +6,7 @@
<pre class="d-none d-md-inline-block"></pre>
<h5 style="font-weight:bold;text-align: center;">Top 25 by {{'COINS_NAME' | app_config}}</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -17,7 +17,7 @@
{% for user in users1 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.coins}}</td>
</tr>
{% endfor %}
@ -33,7 +33,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -45,7 +45,7 @@
{% for user in users7 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.coins_spent}}</td>
</tr>
{% endfor %}
@ -61,7 +61,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -73,7 +73,7 @@
{% for user in users10 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.truecoins}}</td>
</tr>
{% endfor %}
@ -89,7 +89,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -100,7 +100,7 @@
{% for user in users2 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.stored_subscriber_count}}</td>
</tr>
{% endfor %}
@ -114,7 +114,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -125,7 +125,7 @@
{% for user in users3 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.post_count}}</td>
</tr>
{% endfor %}
@ -139,7 +139,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -150,7 +150,7 @@
{% for user in users4 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.comment_count}}</td>
</tr>
{% endfor %}
@ -166,7 +166,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -177,7 +177,7 @@
{% for user in users5 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.received_award_count}}</td>
</tr>
{% endfor %}
@ -194,7 +194,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -206,7 +206,7 @@
{% for user in users9 %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img alt="@{{user[0].username}}'s profile picture" 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><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img alt="@{{user[0].username}}'s profile picture" 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 %}
@ -224,7 +224,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -236,7 +236,7 @@
{% for user in users12 %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img alt="@{{user[0].username}}'s profile picture" 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><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img alt="@{{user[0].username}}'s profile picture" 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 %}
@ -255,7 +255,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -266,7 +266,7 @@
{% for user in users6 %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold; fonts" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td style="font-weight:bold; text-align:right;">{{user.basedcount}}</td>
</tr>
{% endfor %}
@ -284,7 +284,7 @@
</pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>

View file

@ -6,7 +6,7 @@
{% block content %}
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% if v.agendaposter %}
<style>
html {
@ -30,7 +30,7 @@
{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
{% endif %}
<div class="row justify-content-around">

View file

@ -18,7 +18,7 @@
{% endblock %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60">
<link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
</head>

View file

@ -14,7 +14,7 @@
<title>2-Step Login - {{'SITE_NAME' | app_config}}</title>
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
</head>

View file

@ -1,7 +1,7 @@
{% extends "settings2.html" %}
{% block content %}
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight:bold;">#</th>
@ -12,7 +12,7 @@
{% for u in users %}
<tr>
<td style="font-weight:bold;">{{loop.index}}</td>
<td><a style="color:#{{u.namecolor}}; font-weight:bold;" href="/@{{u.username}}"><img alt="@{{u.username}}'s profile picture" loading="lazy" src="{{u.profile_url}}" class="pp20"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></a></td>
<td><a style="color:#{{u.namecolor}}; font-weight:bold;" href="/@{{u.username}}"><img alt="@{{u.username}}'s profile picture" loading="lazy" src="{{u.profile_url}}" class="pp20"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}}"{% endif %}>{{u.username}}</span></a></td>
<td><img alt="Patron-{{u.patron}}" loading="lazy" width=32 height=32 src="/static/assets/images/badges/Patron-{{u.patron}}.webp?a=3"></td>
</tr>

View file

@ -3,7 +3,7 @@
<pre></pre>
<h5>Rentoids</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -13,7 +13,7 @@
{% for user in users %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
</tr>
{% endfor %}
</table>

View file

@ -34,7 +34,7 @@
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% if v.agendaposter %}
<style>
html {

View file

@ -39,10 +39,10 @@
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
{% endif %}
</head>

View file

@ -31,7 +31,7 @@
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}Sign up - {{'SITE_NAME' | app_config}}{% endif %}</title>
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
</head>

View file

@ -32,7 +32,7 @@
<title>{% if ref_user %}{{ref_user.username}} invites you to {{'SITE_NAME' | app_config}}{% else %}{{'SITE_NAME' | app_config}}{% endif %}</title>
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
</head>

View file

@ -26,7 +26,7 @@
{% block stylesheets %}
{% if v %}
<style>:root{--primary:#{{v.themecolor}}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60"><link rel="stylesheet" href="/static/assets/css/{{v.theme}}.css?a=9">
{% if v.agendaposter %}
<style>
html {
@ -50,7 +50,7 @@
{% endif %}
{% else %}
<style>:root{--primary:#{{'DEFAULT_COLOR' | app_config}}</style>
<link rel="stylesheet" href="/static/assets/css/main.css?a=59">
<link rel="stylesheet" href="/static/assets/css/main.css?a=60">
<link rel="stylesheet" href="/static/assets/css/{{'DEFAULT_THEME' | app_config}}.css?a=3">
{% endif %}
{% endblock %}

View file

@ -3,7 +3,7 @@
<pre></pre>
<h5>Successful thiefs</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -13,7 +13,7 @@
{% for user in successful %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
</tr>
{% endfor %}
</table>
@ -21,7 +21,7 @@
<pre class="d-none d-md-inline-block"></pre>
<h5>Evicted thiefs</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -31,7 +31,7 @@
{% for user in failed2 %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
</tr>
{% endfor %}
</table>
@ -39,7 +39,7 @@
<pre class="d-none d-md-inline-block"></pre>
<h5>Jailed thiefs</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -49,7 +49,7 @@
{% for user in failed %}
<tr>
<td style="font-weight: bold">{{loop.index}}</td>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
<td><a style="color:#{{user.namecolor}}; font-weight:bold;" href="/@{{user.username}}"><img alt="@{{user.username}}'s profile picture" 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>
</tr>
{% endfor %}
</table>

View file

@ -53,7 +53,7 @@
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
{% endif %}
<div class="d-flex align-items-center mt-1 mb-2">
<h1 class="font-weight-bolder h3 mb-0" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></h1>
<h1 class="font-weight-bolder h3 mb-0" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}}"{% endif %}>{{u.username}}</span></h1>
{% if u.username != u.original_username %}
<span>
<i class="fad fa-user-tag text-info align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Original Username: @{{u.original_username}}"></i>
@ -352,7 +352,7 @@
{% if u.unban_utc %}<h5 style="color:#ff66ac;">{{u.unban_string}}</h5>{% endif %}
{% endif %}
{% if u.verified %}<span><i class="fas fa-badge-check align-middle ml-1" style="color:{% if u.verifiedcolor %}#{{u.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="{{u.verified}}"></i></span>&nbsp;{% endif %}
<a class="text-black"><h1 class="h5 d-inline-block" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></h1></a>
<a class="text-black"><h1 class="h5 d-inline-block" style="color: #{{u.namecolor}}"><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}}"{% endif %}>{{u.username}}</span></h1></a>
{% if u.username != u.original_username %}
<span>
<i class="fad fa-user-tag text-info align-middle ml-2" data-bs-toggle="tooltip" data-bs-placement="bottom" data-bs-original-title="Original Username: @{{u.original_username}}"></i>

View file

@ -6,7 +6,7 @@
{% endblock %}
{% block title %}
<title><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></title>
<title><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}}"{% endif %}>{{u.username}}</span></title>
{% endblock %}

View file

@ -6,7 +6,7 @@
{% endblock %}
{% block title %}
<title><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}};"{% endif %}>{{u.username}}</span></title>
<title><span {% if u.patron %}class="patron" style="background-color:#{{u.namecolor}}"{% endif %}>{{u.username}}</span></title>
{% endblock %}

View file

@ -3,7 +3,7 @@
<pre></pre>
<h5>Users who viewed your profile</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">Name</th>
@ -12,7 +12,7 @@
</thead>
{% for view in viewers %}
<tr>
<td style="font-weight: bold"><a style="color: #{{view.viewer.namecolor}}" href="/@{{view.viewer.username}}"><img alt="@{{view.viewer.username}}'s profile picture" loading="lazy" src="/uid/{{view.viewer.id}}/pic" class="pp20"><span {% if view.viewer.patron %}class="patron" style="background-color:#{{view.viewer.namecolor}};"{% endif %}>{{view.viewer.username}}</span></a></td>
<td style="font-weight: bold"><a style="color: #{{view.viewer.namecolor}}" href="/@{{view.viewer.username}}"><img alt="@{{view.viewer.username}}'s profile picture" loading="lazy" src="/uid/{{view.viewer.id}}/pic" class="pp20"><span {% if view.viewer.patron %}class="patron" style="background-color:#{{view.viewer.namecolor}}"{% endif %}>{{view.viewer.username}}</span></a></td>
<td style="font-weight: bold">{{view.last_view_string}}</td>
</tr>
{% endfor %}

View file

@ -6,7 +6,7 @@
</pre>
<h5 style="text-align: center">{{name2}}</h5>
<pre></pre>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white">
<tr>
<th style="font-weight: bold">#</th>
@ -18,7 +18,7 @@
{% 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 alt="@{{user[0].username}}'s profile picture" 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><a style="color:#{{user[0].namecolor}}; font-weight:bold;" href="/@{{user[0].username}}"><img alt="@{{user[0].username}}'s profile picture" 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 %}

View file

@ -19,20 +19,20 @@
<p><b>Downvotes: </b>{{downs | length}}</p>
<h2>Upvotes</h2>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white"><tr><th>User</th></tr></thead>
{% for vote in ups %}
<tr><td><a style="color:#{{vote.user.namecolor}};font-weight:bold" href="/@{{vote.user.username}}"><img alt="@{{vote.user.username}}'s profile picture" loading="lazy" src="/uid/{{vote.user.id}}/pic" class="pp20"><span {% if vote.user.patron %}class="patron" style="background-color:#{{vote.user.namecolor}};"{% endif %}>{{vote.user.username}}</span></a></td></tr>
<tr><td><a style="color:#{{vote.user.namecolor}};font-weight:bold" href="/@{{vote.user.username}}"><img alt="@{{vote.user.username}}'s profile picture" loading="lazy" src="/uid/{{vote.user.id}}/pic" class="pp20"><span {% if vote.user.patron %}class="patron" style="background-color:#{{vote.user.namecolor}}"{% endif %}>{{vote.user.username}}</span></a></td></tr>
{% endfor %}
</table>
<h2>Downvotes</h2>
<div class="overflow-x-auto"><table class="table table-striped mb-5">
<div class="overflow-x-auto"><table class="table table-striped mb-5 text-small-mobile">
<thead class="bg-primary text-white"><tr><th>User</th></tr></thead>
{% for vote in downs %}
<tr><td><a style="color:#{{vote.user.namecolor}}; font-weight:bold;" href="/@{{vote.user.username}}"><img alt="@{{vote.user.username}}'s profile picture" loading="lazy" src="/uid/{{vote.user.id}}/pic" class="pp20"><span {% if vote.user.patron %}class="patron" style="background-color:#{{vote.user.namecolor}};"{% endif %}>{{vote.user.username}}</span></a></td></tr>
<tr><td><a style="color:#{{vote.user.namecolor}}; font-weight:bold;" href="/@{{vote.user.username}}"><img alt="@{{vote.user.username}}'s profile picture" loading="lazy" src="/uid/{{vote.user.id}}/pic" class="pp20"><span {% if vote.user.patron %}class="patron" style="background-color:#{{vote.user.namecolor}}"{% endif %}>{{vote.user.username}}</span></a></td></tr>
{% endfor %}
</table>