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 %}