diff --git a/files/assets/css/main.css b/files/assets/css/main.css
index 38f98853f..a5973e620 100644
--- a/files/assets/css/main.css
+++ b/files/assets/css/main.css
@@ -214,6 +214,7 @@
.fa-ankh:before{content:"\f644"}
.fa-quotes:before{content:"\e234"}
.fa-tv:before{content:"\f26c"}
+.fa-heart:before{content:"\f004"}
/* do not remove - fixes hand, talking, marsey-love components
from breaking out of the comment box
@@ -7630,3 +7631,58 @@ ul {
from {background-position: 0px;}
to {background-position: 1000px;}
}
+
+
+@-webkit-keyframes lgbt {
+ 0% {
+ color: violet;
+ }
+ 20% {
+ color: red;
+ }
+ 40% {
+ color: orange;
+ }
+ 60% {
+ color: yellow;
+ }
+ 80% {
+ color: blue;
+ }
+ 100% {
+ color: violet;
+ }
+}
+
+
+@-webkit-keyframes lgbt-patron {
+ 0% {
+ background-color: violet;
+ }
+ 20% {
+ background-color: red;
+ }
+ 40% {
+ background-color: orange;
+ }
+ 60% {
+ background-color: yellow;
+ }
+ 80% {
+ background-color: blue;
+ }
+ 100% {
+ background-color: violet;
+ }
+}
+
+
+[pride_username] {
+ -webkit-animation: 3s ease-in-out 0s normal none infinite lgbt;
+ animation: 3s ease-in-out 0s normal none infinite lgbt;
+}
+
+[pride_username].patron {
+ -webkit-animation: 3s ease-in-out 0s normal none infinite lgbt-patron;
+ animation: 3s ease-in-out 0s normal none infinite lgbt-patron;
+}
diff --git a/files/classes/user.py b/files/classes/user.py
index 8ae640673..72f664647 100644
--- a/files/classes/user.py
+++ b/files/classes/user.py
@@ -1265,6 +1265,10 @@ class User(Base):
def offsitementions(self):
return self.has_badge(140)
+ @lazy
+ def pride_username(self, v):
+ return not (v and v.poor) and self.has_badge(303)
+
@property
@lazy
def shadowbanner(self):
diff --git a/files/helpers/config/awards.py b/files/helpers/config/awards.py
index 22d2a420e..079434cb5 100644
--- a/files/helpers/config/awards.py
+++ b/files/helpers/config/awards.py
@@ -879,6 +879,19 @@ AWARDS = {
"enabled": True,
"positive": True,
},
+ "pride": {
+ "kind": "pride",
+ "title": "Pride",
+ "description": "Glams up the recipient's name, showing lifelong support for the LGBTQIA+ community.",
+ "icon": "fas fa-heart",
+ "color": "text-purple",
+ "price": 200000,
+ "deflectable": True,
+ "cosmetic": False,
+ "ghost": False,
+ "enabled": True,
+ "positive": True,
+ },
}
AWARDS_ENABLED = {}
diff --git a/files/routes/awards.py b/files/routes/awards.py
index 0d246bf6f..278973776 100644
--- a/files/routes/awards.py
+++ b/files/routes/awards.py
@@ -473,6 +473,8 @@ def award_thing(v, thing_type, id):
elif kind == "checkmark":
author.verified = "Verified"
badge_grant(user=author, badge_id=150)
+ elif kind == "pride":
+ badge_grant(user=author, badge_id=303)
elif kind == 'marsify':
if author.chud:
abort(409, f"{safe_username} under the effect of a conflicting award: Chud award!")
diff --git a/files/templates/comments.html b/files/templates/comments.html
index 36ac2ffa9..3d424e172 100644
--- a/files/templates/comments.html
+++ b/files/templates/comments.html
@@ -171,7 +171,7 @@
{%- endif %}
- {{c.author_name}}
+ {{c.author_name}}
{% if FEATURES['PRONOUNS'] %}
{{c.author.pronouns_display}}
diff --git a/files/templates/header.html b/files/templates/header.html
index f46a7a285..a81a8f143 100644
--- a/files/templates/header.html
+++ b/files/templates/header.html
@@ -301,7 +301,7 @@
{%- endif %}