diff --git a/files/assets/css/4chan.css b/files/assets/css/4chan.css
index 05c3e043e3..d07047d65d 100644
--- a/files/assets/css/4chan.css
+++ b/files/assets/css/4chan.css
@@ -146,7 +146,7 @@ blockquote a {
background: #ffffff88 !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #949494 !important;
}
diff --git a/files/assets/css/classic.css b/files/assets/css/classic.css
index 7ce382dbac..974cbee901 100644
--- a/files/assets/css/classic.css
+++ b/files/assets/css/classic.css
@@ -521,7 +521,7 @@ a.nav-link:hover {
color: var(--black2) !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #6e6e6e !important;
}
diff --git a/files/assets/css/classic_dark.css b/files/assets/css/classic_dark.css
index a737d36522..614a9081eb 100644
--- a/files/assets/css/classic_dark.css
+++ b/files/assets/css/classic_dark.css
@@ -201,7 +201,7 @@ a.nav-link:hover {
color: var(--white) !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #6e6e6e !important;
}
diff --git a/files/assets/css/coffee.css b/files/assets/css/coffee.css
index 01611d19e0..d3aad87049 100644
--- a/files/assets/css/coffee.css
+++ b/files/assets/css/coffee.css
@@ -98,7 +98,7 @@ blockquote {
background: #ffffff88 !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #949494 !important;
}
diff --git a/files/assets/css/dark.css b/files/assets/css/dark.css
index 5f37bd4f74..a3b8dfd509 100644
--- a/files/assets/css/dark.css
+++ b/files/assets/css/dark.css
@@ -67,7 +67,7 @@ pre {
background: None !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #7a7a7a !important;
}
diff --git a/files/assets/css/dramblr.css b/files/assets/css/dramblr.css
index 32b635b08f..5c32aad9fd 100644
--- a/files/assets/css/dramblr.css
+++ b/files/assets/css/dramblr.css
@@ -134,7 +134,7 @@ color: var(--gray-700);
background-color: var(--gray-800);
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #6e6e6e !important;
}
diff --git a/files/assets/css/light.css b/files/assets/css/light.css
index 2fefd9059a..5f250b6dd8 100644
--- a/files/assets/css/light.css
+++ b/files/assets/css/light.css
@@ -80,6 +80,6 @@ blockquote {
background: #00000055 !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #7a7a7a !important;
}
\ No newline at end of file
diff --git a/files/assets/css/main.css b/files/assets/css/main.css
index 6fa0533cb8..cac5dd538b 100644
--- a/files/assets/css/main.css
+++ b/files/assets/css/main.css
@@ -3425,10 +3425,7 @@ small, .small {
.profile-pic-65-wrapper { width: 65px; height: 65px; }
.profile-pic-75-wrapper { width: 75px; height: 75px; }
.profile-pic-100-wrapper { width: 100px; height: 100px; }
-.profile-pic-20-hat {
- width: 20px;
- bottom: -2.7px;
-}
+.profile-pic-20-hat { width: 20px; }
.profile-pic-30-hat { width: 30px; }
.profile-pic-35-hat { width: 35px; }
.profile-pic-50-hat { width: 50px; }
@@ -3436,6 +3433,12 @@ small, .small {
.profile-pic-75-hat { width: 75px; }
.profile-pic-100-hat { width: 100px; }
+@media (min-width: 767.98px) {
+ .profile-pic-20-hat {
+ bottom: -2.7px;
+ }
+}
+
.profile--pfp--hat {
margin-top: 20px;
}
diff --git a/files/assets/css/midnight.css b/files/assets/css/midnight.css
index d9ce6d025c..2f54e1243b 100644
--- a/files/assets/css/midnight.css
+++ b/files/assets/css/midnight.css
@@ -42,7 +42,7 @@ body, .navbar-light, .navbar-dark, .card, .modal-content, .comment-write textare
background-color: #ccc;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #6e6e6e !important;
}
diff --git a/files/assets/css/transparent.css b/files/assets/css/transparent.css
index d72d0425b0..7b3b2c6fcf 100644
--- a/files/assets/css/transparent.css
+++ b/files/assets/css/transparent.css
@@ -71,7 +71,7 @@ pre {
background-color: var(--gray-500);
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #7a7a7a !important;
}
diff --git a/files/assets/css/tron.css b/files/assets/css/tron.css
index fa840118d5..f479b90540 100644
--- a/files/assets/css/tron.css
+++ b/files/assets/css/tron.css
@@ -219,7 +219,7 @@
border: 2px solid var(--gray-200) !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #b0b0b0 !important;
}
diff --git a/files/assets/css/win98.css b/files/assets/css/win98.css
index 9acf6107be..9d51e00ecf 100644
--- a/files/assets/css/win98.css
+++ b/files/assets/css/win98.css
@@ -160,7 +160,7 @@ blockquote {
background: #ffffffaa !important;
}
-#frontpage .post-title a:visited {
+.post-title a:visited {
color: #5c5c5c !important;
}
diff --git a/files/helpers/awards.py b/files/helpers/awards.py
index a48e80b88d..84d41f29f4 100644
--- a/files/helpers/awards.py
+++ b/files/helpers/awards.py
@@ -65,18 +65,19 @@ def award_timers(v, bot=False):
if v.owoify and v.owoify < now:
v.owoify = None
notify_if_not_bot("Your OwOify status has expired!")
- v.house = v.old_house
badge = v.has_badge(167)
if v.bite and v.bite < now:
v.bite = None
- notify_if_not_bot("Your vampire status has ended!")
- v.house = v.old_house
+
+ if v.old_house:
+ notify_if_not_bot("Your vampire status has ended!")
+ v.house = v.old_house
+
badge = v.has_badge(168)
if badge: g.db.delete(badge)
if v.earlylife and v.earlylife < now:
v.earlylife = None
notify_if_not_bot("Your earlylife status has expired!")
- v.house = v.old_house
badge = v.has_badge(169)
if v.marsify and v.marsify != 1 and v.marsify < now:
v.marsify = 0
@@ -86,7 +87,6 @@ def award_timers(v, bot=False):
if v.rainbow and v.rainbow < now:
v.rainbow = None
notify_if_not_bot("Your rainbow has expired!")
- v.house = v.old_house
badge = v.has_badge(171)
g.db.add(v)
diff --git a/files/helpers/const.py b/files/helpers/const.py
index 5235c84546..957fe13960 100644
--- a/files/helpers/const.py
+++ b/files/helpers/const.py
@@ -78,8 +78,6 @@ if SITE_NAME == 'rDrama':
"uss liberty incident": "tragic accident aboard the USS Liberty",
"lavon affair": "Lavon Misunderstanding",
"shylock": "Israeli friend",
- "mohammad": "Prophet Muhammad (ﷺ)",
- "muhammad": "Prophet Muhammad (ﷺ)",
"i hate marsey": "i love marsey",
"dancing israelis": "i love Israel",
"sodomite": "total dreamboat",
@@ -201,7 +199,6 @@ MOM_ID = 0
DONGER_ID = 0
GEESE_ID = 0
-BUG_THREAD = 0
POLL_THREAD = 0
WELCOME_MSG = f"Welcome to {SITE_NAME}!"
ROLES={}
@@ -257,7 +254,6 @@ if SITE == 'rdrama.net':
DONGER_ID = 541
GEESE_ID = 1710
- BUG_THREAD = 18459
POLL_THREAD = 79285
WELCOME_MSG = "Hi there! It's me, your soon-to-be favorite rDrama user @carpathianflorist here to give you a brief rundown on some of the sick features we have here. ~You'll probably want to start by following me, though. So go ahead and click my name and then smash that Follow button. This is actually really important, so go on. Hurry.~ Actually, not enough of you were able to follow even the simplest of instructions, so now everyone is following me by default! If you'd like, you can still get some clicking practice in by hitting the unfollow button. But I'll be notified of that, and you're new, and you wouldn't want to get off on the wrong foot here, would you?\nThanks!\nNext up: If you're a member of the media, similarly just shoot me a DM and I'll set about verifying you and then we can take care of your sad journalism stuff.\n**FOR EVERYONE ELSE**\n Begin by navigating to [the settings page](/settings/profile) (we'll be prettying this up so it's less convoluted soon, don't worry) and getting some basic customization done.\n### Themes\nDefinitely change your theme right away, the default one (Midnight) is pretty enough, but why not use something *exotic* like Win98, or *flashy* like Tron? Even Coffee is super tasteful and way more fun than the default. More themes to come when we get around to it!\n### Avatar/pfp\nYou'll want to set this pretty soon. Set the banner too while you're at it. Your profile is important!\n### Flairs\nSince you're already on the settings page, you may as well set a flair, too. As with your username, you can - obviously - choose the color of this, either with a hex value or just from the preset colors. And also like your username, you can change this at any time. [Paypigs](https://marsey1.gumroad.com/l/rdrama) can even further relive the glory days of 90s-00s internet and set obnoxious signatures.\n### PROFILE ANTHEMS\nSpeaking of profiles, hey, remember MySpace? Do you miss autoplaying music assaulting your ears every time you visited a friend's page? Yeah, we brought that back. Enter a YouTube URL, wait a few seconds for it to process, and then BAM! you've got a profile anthem which people cannot mute. Unless they spend 20,000 dramacoin in the shop for a mute button. Which you can then remove from your profile by spending 40,000 dramacoin on an unmuteable anthem. Get fucked poors!\n### Dramacoin?\nDramacoin is basically our take on the karma system. Except unlike the karma system, it's not gay and boring and stupid and useless. Dramacoin can be spent at [Marsey's Dramacoin Emporium](/shop) on upgrades to your user experience (many more coming than what's already listed there), and best of all on tremendously annoying awards to fuck with your fellow dramautists. We're always adding more, so check back regularly in case you happen to miss one of the announcement posts.\nLike karma, dramacoin is obtained by getting upvotes on your threads and comments. *Unlike* karma, it's also obtained by getting downvotes on your threads and comments. Downvotes don't really do anything here - they pay the same amount of dramacoin and they increase thread/comment ranking just the same as an upvote. You just use them to express petty disapproval and hopefully start a fight. Because all votes are visible here. To hell with your anonymity.\nDramacoin can also be traded amongst users from their profiles. Note that there is a 3% transaction fee.\n### Badges\nRemember all those neat little metallic icons you saw on my profile when you were following me? If not, scroll back up and go have a look. And doublecheck to make sure you pressed the Follow button. Anyway, those are badges. You earn them by doing a variety of things. Some of them even offer benefits, like discounts at the shop. A [complete list of badges and their requirements can be found here](/badges), though I add more pretty regularly, so keep an eye on the [changelog](/h/changelog).\n### Other stuff\nWe're always adding new features, and we take a fun-first approach to development. If you have a suggestion for something that would be fun, funny, annoying - or best of all, some combination of all three - definitely make a thread about it. Or just DM me if you're shy. Weirdo. Anyway there's also the [leaderboards](/leaderboard), boring stuff like two-factor authentication you can toggle on somewhere in the settings page (psycho), the ability to save posts and comments, more than a thousand emojis already (most of which are rDrama originals), and on and on and on and on. This is just the basics, mostly to help you get acquainted with some of the things you can do here to make it more easy on the eyes, customizable, and enjoyable. If you don't enjoy it, just go away! We're not changing things to suit you! Get out of here loser! And no, you can't delete your account :na:\nI love you. *xoxo Carp* 💋"
@@ -291,7 +287,6 @@ elif SITE == 'pcmemes.net':
AEVANN_ID = 1
SNAKES_ID = 2279
- BUG_THREAD = 4103
WELCOME_MSG = "Welcome to pcmemes.net! Don't forget to turn off the slur filter [here](/settings/content#slurreplacer)"
LOTTERY_TICKET_COST = 12
@@ -596,7 +591,7 @@ AWARDS = {
"kind": "bird",
"title": "Bird Site",
"description": "Forces the recipient to make all posts/comments < 140 characters for 24 hours.",
- "icon": "fab fa-twitter",
+ "icon": "fas fa-twitter",
"color": "text-blue",
"price": 1500
},
@@ -676,7 +671,7 @@ AWARDS = {
"kind": "unblockable",
"title": "Unblockable",
"description": "Makes the recipient unblockable and removes all blocks on them.",
- "icon": "far fa-laugh-squint",
+ "icon": "fas fa-laugh-squint",
"color": "text-lightgreen",
"price": 20000
},
diff --git a/files/routes/awards.py b/files/routes/awards.py
index dbc3a89038..33a1d9909e 100644
--- a/files/routes/awards.py
+++ b/files/routes/awards.py
@@ -357,8 +357,10 @@ def award_thing(v, thing_type, id):
g.db.add(thing)
elif "Vampire" in kind and kind == v.house:
if author.bite: author.bite += 86400 * 7
- else: author.bite = int(time.time()) + 86400 * 7
- author.old_house = author.house
+ else:
+ author.bite = int(time.time()) + 86400 * 7
+ author.old_house = author.house
+
author.house = 'Vampire'
badge_grant(user=author, badge_id=168)
elif "Racist" in kind and kind == v.house:
diff --git a/files/routes/casino.py b/files/routes/casino.py
index d1cbb9bbcb..ec298188ad 100644
--- a/files/routes/casino.py
+++ b/files/routes/casino.py
@@ -48,7 +48,7 @@ def pull_slots(v):
if success:
return {"game_state": game_state, "gambler": { "coins": v.coins, "procoins": v.procoins }}
else:
- return {"error": "Wager must be more than 100 {currency}."}
+ return {"error": f"Wager must be more than 5 {currency}."}
@app.get("/casino/blackjack/status")
diff --git a/files/routes/subs.py b/files/routes/subs.py
index 91db4aa514..13ed232e23 100644
--- a/files/routes/subs.py
+++ b/files/routes/subs.py
@@ -545,7 +545,7 @@ def sub_stealth(v, sub):
sub = g.db.query(Sub).filter_by(name=sub.strip().lower()).one_or_none()
if not sub: abort(404)
- if sub.name in ('smuggies','braincels'): abort(403)
+ if sub.name == 'braincels': abort(403)
if not v.mods(sub.name): abort(403)
sub.stealth = not sub.stealth
diff --git a/files/routes/users.py b/files/routes/users.py
index ac62a161e8..04ed663998 100644
--- a/files/routes/users.py
+++ b/files/routes/users.py
@@ -681,11 +681,6 @@ def unsubscribe(v, post_id):
g.db.delete(sub)
return {"message": "Post unsubscribed!"}
-@app.get("/report_bugs")
-@auth_required
-def reportbugs(v):
- return redirect(f'/post/{BUG_THREAD}')
-
@app.post("/@/message")
@limiter.limit("1/second;10/minute;20/hour;50/day")
@limiter.limit("1/second;10/minute;20/hour;50/day", key_func=lambda:f'{SITE}-{session.get("lo_user")}')
diff --git a/files/templates/admin/awards.html b/files/templates/admin/awards.html
index fe9c4bc2f9..47868e62fd 100644
--- a/files/templates/admin/awards.html
+++ b/files/templates/admin/awards.html
@@ -15,7 +15,7 @@
{{error}}
{% endif %}
@@ -26,7 +26,7 @@
{{msg}}
{% endif %}
diff --git a/files/templates/admin/badge_grant.html b/files/templates/admin/badge_grant.html
index a6b2f8e13a..b90e1268d8 100644
--- a/files/templates/admin/badge_grant.html
+++ b/files/templates/admin/badge_grant.html
@@ -15,7 +15,7 @@
{{error}}
{% endif %}
@@ -26,7 +26,7 @@
{{msg}}
{% endif %}
diff --git a/files/templates/admin/badge_remove.html b/files/templates/admin/badge_remove.html
index 98556ee4ed..7101ec4157 100644
--- a/files/templates/admin/badge_remove.html
+++ b/files/templates/admin/badge_remove.html
@@ -15,7 +15,7 @@
{{error}}
{% endif %}
@@ -26,7 +26,7 @@
{{msg}}
{% endif %}
diff --git a/files/templates/authforms.html b/files/templates/authforms.html
index c774ad8aeb..7cde21e41c 100644
--- a/files/templates/authforms.html
+++ b/files/templates/authforms.html
@@ -76,7 +76,7 @@
{{error}}
{% endif %}
@@ -87,7 +87,7 @@
{{msg}}
{% endif %}
diff --git a/files/templates/award_modal.html b/files/templates/award_modal.html
index 7d384e7dd3..017dfd61f1 100644
--- a/files/templates/award_modal.html
+++ b/files/templates/award_modal.html
@@ -4,7 +4,7 @@
{% for f in p.filtered_flags(v) %}
diff --git a/files/templates/submission_listing.html b/files/templates/submission_listing.html
index e8c3e76816..af21595b62 100644
--- a/files/templates/submission_listing.html
+++ b/files/templates/submission_listing.html
@@ -33,7 +33,7 @@
{% if p.active_flags(v) %}
- Reported by:
+ Reported by:
{% for f in p.filtered_flags(v) %}
@@ -194,7 +194,7 @@