diff --git a/files/assets/js/chat.js b/files/assets/js/chat.js
index 6038af0ae..47a47687d 100644
--- a/files/assets/js/chat.js
+++ b/files/assets/js/chat.js
@@ -76,6 +76,11 @@ socket.on('speak', function(json) {
username.style.backgroundColor = null
}
+ if (json.pride_username)
+ username.setAttribute("pride_username", "")
+ else
+ username.removeAttribute("pride_username")
+
document.getElementsByClassName('user_id')[0].value = json.user_id
document.getElementsByClassName('time')[0].innerHTML = formatDate(new Date(json.time*1000))
@@ -206,7 +211,9 @@ socket.on('online', function(data){
{
let patron = ''
if (u[3])
- patron = ` class="patron" style="background-color:#${u[2]}"`
+ patron += ` class="patron" style="background-color:#${u[2]}"`
+ if (u[5])
+ patron += " pride_username"
online += `
`
if (admin_level && muted_li.includes(u[1].toLowerCase()))
diff --git a/files/routes/chat.py b/files/routes/chat.py
index b7b00424d..c92f53ebf 100644
--- a/files/routes/chat.py
+++ b/files/routes/chat.py
@@ -142,6 +142,7 @@ def speak(data, v):
"username": v.username,
"namecolor": v.name_color,
"patron": v.patron,
+ "pride_username": bool(v.has_badge(303)),
"text": text,
"text_censored": censor_slurs_profanities(text, 'chat', True),
"text_html": text_html,
@@ -217,7 +218,7 @@ def disconnect(v):
def heartbeat(v):
expire_utc = int(time.time()) + 3610
already_there = online.get(v.id)
- online[v.id] = (expire_utc, v.username, v.name_color, v.patron, v.id)
+ online[v.id] = (expire_utc, v.username, v.name_color, v.patron, v.id, bool(v.has_badge(303)))
if not already_there:
refresh_online()
return ''
diff --git a/files/templates/util/macros.html b/files/templates/util/macros.html
index 8096b3a53..3e1f6711f 100644
--- a/files/templates/util/macros.html
+++ b/files/templates/util/macros.html
@@ -250,7 +250,7 @@
- {% if m %}{{m.username}}{% endif %}
+ {% if m %}{{m.username}}{% endif %}